0

パラメーター mu と sigma を持つ対数正規分布から、サイズ n = 8 のランダム サンプルがあるとします。これは小さなサンプルであるため、非正規母集団から t 信頼区間を使用します。シミュレーションを実行して、mu=1 および sigma= 1.5 である 90% t-CI の真の (シミュレートされた) CI を決定しました

私の問題は、以下のコードが NORMAL 分布に従っており、対数正規分布である必要があることです。確率変数がログ分布から得られるように、rnorm が rlnorm にならなければならないことはわかっています。しかし、mu と sigma を変更する必要があります。正規分布のミューとシグマは、対数分布では同じではありません。

対数分布の Mu = exp(μ + 1/2 σ^2)。シグマは exp (2 (μ+シグマ^2)) – exp2 (μ+シグマ^2)

これらの 2 つの方程式をコードに組み込む方法について、私は混乱しています。

ところで-まだ推測していない場合、私は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)

編集:だから、muとsdをそれぞれの式に置き換えてみました...

(μ=exp(μ + 1/2 σ2) シグマ= exp(2μ + σ2)(exp(σ2) - 1)

シミュレートされた信頼度は 5000 でした。

4

1 に答える 1

0

再現可能なサンプル データを次に示します。

(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
于 2014-02-19T10:59:57.643 に答える