[英]pth Quantile of Standard Normal Distribution - R
我正在從一本名為“使用R發現統計信息”的書中學習統計信息和R ...盡管它非常有用,但它似乎跳過了某些領域,即使它暗示不需要統計知識或R也不需要。 所以問題來了:
如何使用二分法 (或二等分法)在R中計算標准正態分布的p分位數? (並且假設不使用qnorm()
)。 那是:
pnorm(x) = p
pnorm(x)-p = 0
f (x) = 0
更新:
二分法是采用間隔[a,b]
的方法,該間隔在間隔的端點采用不同符號的值,並且在[a,b]
內具有單個根x
。 然后,如果找到F(x1)
,則一半,如果f(x1) != 0
它將得到[a,x1]
和[x1,b]
...,其中x1, x2,...,
的序列收斂為0
。
笨拙,但這可行:
tolerance <- 1e-6
interval <- c(-1000,1000)
quantile <- 0.2
while(interval[2]-interval[1] > tolerance) {
cat('current interval: ',interval,'\n')
interval.left <- c(interval[1],mean(interval))
interval.right <- c(mean(interval),interval[2])
if(sum(sign(pnorm(interval.left)-quantile))==0) {
interval <- interval.left
} else {
interval <- interval.right
}
}
mean(interval)
qnorm(quantile)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.