set.seed(10)
sd.sim <- seq(from=0.001, to=1.0, by=0.001) #assuming my empirical distribution sd is hidden somewhere in-between 0.001 to 1.000
a <- list()
sim <- list()
emp <- replicate(1000,rnorm(2000, mean=1, sd=0.4)) #empirical toy data
emp <- colMeans(emp)
for(i in 1:length(sd.sim)){
sim <- replicate(1000,rnorm(2000, mean=1, sd=sd.sim[i])) #we are assuming empirical data have such distribution; parametric (normal dist.)
sim <- colMeans(sim) #a bit of bootstrap method
k <- (emp - sim)^2
a[[i]] <- sum(k)
}
w <- do.call(rbind, a)
w <- data.frame(w)
w$index <- row.names(w)
w$nor <- w$w/min(w$w) #normalized, setting min value at 1, ie turning point of the x^2 shape (y-axis = 1), please see comment below
w$sd <- sd.sim
w$v <- w$sd*w$sd
plot(w$index, w$nor)
我所做的是创建一个玩具数据emp
,假装我对其分布参数一无所知。
首先是通过假设正态分布来“猜测”玩具数据的分布...
然后通过针对玩具数据模拟法线,找到错误(通过更改sim
数据的sd),我期望的误差差曲线为X ^ 2形状:
因为:
我的玩具emp
:平均值== 1,标准偏差= 0.40
和参数sim
:固定平均值== 1,标准误<-[0.001; 1.000]
我希望X ^ 2像曲线一样,转折点*在sd = 0.4,y = 1 ..但是我得到的只是线性图。 这有点像参数引导程序
*转折点:意味着当sim
的sd == 0.4时,我的错误是最低的