2014-02-18 218 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