这是我不了解的考试示例问题。 观察到的空调设备故障的等待时间为3、5、7、18、43、85、91、98、100、130、230和487。假设您要估计平均等待时间的标准误差失败。给出精确的描述,您将如何使用非参数引导程序来估算该标准误差。
我在R中的代码给出了错误:
x <- c(3,5,7,18,43,85,91,98,100,130,230,487)
median(x)
B <- 999
bs.median <- rep(B)
for (b in B) bs.median[b] <- median(sample(x,12,replace=TRUE))
sd(bs.median)
有人可以告诉我我做错了什么吗?
答案 0 :(得分:0)
您忘记了代码中的一些小问题,我相信这会起作用。 我相信我也有相同的示例问题,也许您也会从我的其他答案中受益。
1
x <- c(3,5,7,18,43,85,91,98,100,130,230,487)
median(x)
B <- 999
bs.median <- rep(NA,B)
for (b in 1:B) bs.median[b] <- median(sample(x,12,replace=TRUE))
sd(bs.median)
样本问题的其他答案:
2:该课程注册了103名学生,其中一小部分是女性。参会者 是这103名学生中的随机样本。假设有73名学生上课,而18名学生 是女性。给出用割线法估计的算法。
g.prime <- function(p,n,x){
x/p -(n-x)/(1-p)
}
p0 <- 0.1
p1 <- 0.4
max.steps <- 20
p <- c(p0,p1,rep(NA,max.steps-2))
for (i in 3:max.steps){
p.t <- p[i-1]
g.prime.t <- g.prime(p.t,73,18)
p.t.min.1 <- p[i-2]
g.prime.t.min.1 <- g.prime(p.t.min.1,73,18)
p[i] <- p.t - g.prime.t*(p.t-p.t.min.1)/(g.prime.t-g.prime.t.min.1)
}
p
3b编写R代码,根据optim的要求计算对数似然函数。您的代码在语法上不一定是正确的,但对有权使用R的任何人来说,都应该清楚如何编写对数似然函数。
loglik <- function(p,y,d){
a <- p[1:2]
b <- p[3:4]
denominator <- 1+exp(-a[1]-a[2]*d)+exp(-b[1]-b[2]*d)
bicycle <- exp(-a[1]-a[2]*d)
public <- exp(-b[1]-b[2]*d)
p <- ifelse(y==1, 1/denominator, bicycle/denominator)
p <- ifelse(y==3, public/denominator, p)
-sum(log(p))
}
3c给出适当的起始值和相关的调用,以使R nd成为ML估计量。
df$y <- ifelse(df$choice=='car',1,3)
df$y <- ifelse(df$choice=='bicycle',2,df$y)
table(df$y)
p0 <- c(0,0,0,0)
optim(p0,loglik,y=df$y,d=df$distance)
我希望这些答案对您有用!
不。变量b在程序中有两个作用。它在引导程序中充当计数器 迭代(对于(1:B中的b)),其值也用于生成参数引导程序 样本(rgamma(n,shape = a,rate = b))。在每次迭代中,样本都是从 参数不同的分布