我不知道我怎麼會具有R告訴我SD(如qnorm一個參數()內建R中)正態分佈,其95%的極限值已知?作爲一個例子,我知道我的法線的兩個95%極限值分別是158和168。因此,在下面的R代碼SD顯示爲「x」。 如果 「Y」(在這個簡單的qnorm()功能的回答)需要爲(158,168),然後可以告訴[R我應該是什麼X?確定正態分佈給予其位數信息
y <- qnorm(c(.025,.975), 163, x)
我不知道我怎麼會具有R告訴我SD(如qnorm一個參數()內建R中)正態分佈,其95%的極限值已知?作爲一個例子,我知道我的法線的兩個95%極限值分別是158和168。因此,在下面的R代碼SD顯示爲「x」。 如果 「Y」(在這個簡單的qnorm()功能的回答)需要爲(158,168),然後可以告訴[R我應該是什麼X?確定正態分佈給予其位數信息
y <- qnorm(c(.025,.975), 163, x)
假設的一般程序,我們有一個正態分佈X ~ N(mu, sigma)
,未知平均mu
和未知的標準偏差sigma
。而我們的目標是解決mu
和sigma
,給出了兩個分位數方程:
Pr(X < q1) = alpha1
Pr(X < q2) = alpha2
我們認爲標準化:Z = (X - mu)/sigma
,使
Pr(Z < (q1 - mu)/sigma) = alpha1
Pr(Z < (q2 - mu)/sigma) = alpha2
換句話說,
(q1 - mu)/sigma = qnorm(alpha1)
(q2 - mu)/sigma = qnorm(alpha2)
的RHS明確已知,我們定義beta1 = qnorm(alpha1)
,beta2 = qnorm(alpha2)
。現在,上面簡化爲2個線性方程系統:
mu + beta1 * sigma = q1
mu + beta2 * sigma = q2
該系統具有係數矩陣:
1 beta1
1 beta2
與行列式beta2 - beta1
。奇點的唯一情況是beta2 = beta1
。只要系統不是單一的,我們就可以使用solve
來解決mu
和sigma
。
想想奇點狀況的含義。對於正態分佈,qnorm
是嚴格單調的。所以beta1 = beta2
與alpha1 = alpha2
相同。但這可以很容易地避免,因爲它是在你的規格下,所以在下面我不會檢查奇點。
結束語以上爲估計功能:
est <- function(q, alpha) {
beta <- qnorm(alpha)
setNames(solve(cbind(1, beta), q), c("mu", "sigma"))
}
讓我們有一個測試:
x <- est(c(158, 168), c(0.025, 0.975))
# mu sigma
#163.000000 2.551067
## verification
qnorm(c(0.025, 0.975), x[1], x[2])
# [1] 158 168
我們也可以做一些隨心所欲:
x <- est(c(1, 5), c(0.1, 0.4))
# mu sigma
#5.985590 3.890277
## verification
qnorm(c(0.1, 0.4), x[1], x[2])
# [1] 1 5
你的問題是不清楚。爲了讓我們能夠回答您的問題,請輸入'dput(variableName)'並將控制檯輸出複製並粘貼到您的問題中,以包含您的數據樣本。另外,顯示你想要的輸出應該是什麼樣子。有關如何在'R'中創建可重複示例的更多信息(並使其更有可能您的問題得到解答),請查看[本文](http://stackoverflow.com/questions/5963269/how-to-make-一個偉大-R重現-例子)。 – Barker