2014-02-18 209 views
0

假设我们有一个随机样本,其大小为n = 8,参数为mu和sigma的对数正态分布。由于它是一个小样本,从非正常人群中我将使用t置信区间。我运行了一个模拟来确定mu = 1和sigma = 1.5的90%t-CI的真实(模拟)CI。我的问题是我的代码遵循正态分布,它需要是一个对数正态分布分配。 我知道rnorm必须变成rlnorm,以便随机变量来自日志分布。但我需要改变mu和sigma。在日志分布中,正态分布中的Mu和西格玛不一样。R中对数正态分布中Mu的置信区间

对数分布μ= exp(μ+ 1 /2σ^ 2)。和Sigma是EXP(2(μ+西格马^ 2)) - EXP2(μ+西格马^ 2)

我对我怎么能这两个方程纳入我的代码只是困惑。

BTW-如果你不已经猜到,我是很新的R.任何帮助,将不胜感激!


MC <- 10000 # Number of samples to simulate 
result <- c(1:MC) 
mu <- 1 
sigma <- 1.5 
n <- 8; # Sample size 
alpha <- 0.1 # the nominal confidence level is 100(1-alpha) percent 

    t_criticalValue <- qt(p=(1-alpha/2), df=(n-1)) 

    for(i in 1:MC){ 
    mySample <- rlnorm(n=n, mean=mu, sd=sigma) 
    lowerCL <- mean(mySample)-t_criticalValue*sd(mySample)/sqrt(n) 
    upperCL <- mean(mySample)+t_criticalValue*sd(mySample)/sqrt(n) 
    result[i] <- ((lowerCL < mu) & (mu < upperCL)) 
    } 

SimulatedConfidenceLevel <- mean(result) 

编辑:所以,我试图与它们各自的公式替换亩和SD ...

(亩= EXP(μ+ 1/2σ2) 西格玛= EXP(2μ+σ2 )(EXP(σ2) - 1)

和我的5000

+0

请您澄清一下您试图计算的内容:分布没有置信区间。你是否想要计算'mu'的置信区间?或者你是否试图确定你的数据是否来自'mu = 1'和'sigma = 1.5'的对数正态分布?或者是其他东西? –

+0

是的,我试图计算mu/mean的“真实”或刺激置信区间 – user3295513

回答

0

一个simulatedconfidencelevel下面是一些重复的样品数据:

(x <- rlnorm(8, 1, 1.5)) 
## [1] 3.5415832 0.3563604 0.5052436 3.5703968 7.3696985 0.7737094 12.9768734 35.9143985 

你的临界值的定义是正确的:

n <- length(x) 
alpha <- 0.1 
t_critical_value <- qt(1 - alpha/2, n - 1) 

有一个在ggplot2绘图软件包,计算平均值和标准误差效用函数。在这种情况下,您可以将其应用到数据的日志中以查找mu以及它的置信区间。

library(ggplot2) 
mean_se(log(x), t_critical_value)  
##   y   ymin  ymax 
## 1 1.088481 -0.006944755 2.183907