當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R GammaDist 伽瑪分布


R語言 GammaDist 位於 stats 包(package)。

說明

具有參數 shapescale 的伽馬分布的密度、分布函數、分位數函數和隨機生成。

用法

dgamma(x, shape, rate = 1, scale = 1/rate, log = FALSE)
pgamma(q, shape, rate = 1, scale = 1/rate, lower.tail = TRUE,
       log.p = FALSE)
qgamma(p, shape, rate = 1, scale = 1/rate, lower.tail = TRUE,
       log.p = FALSE)
rgamma(n, shape, rate = 1, scale = 1/rate)

參數

x, q

分位數向量。

p

概率向量。

n

觀察次數。如果是 length(n) > 1 ,則長度被視為所需的數量。

rate

指定比例的另一種方法。

shape, scale

形狀和尺度參數。必須為正,嚴格來說scale

log, log.p

邏輯性;如果 TRUE ,概率/密度 將返回為

lower.tail

邏輯性;如果為 TRUE(默認值),則概率為 ,否則為

細節

如果省略 scale ,則采用默認值 1

參數為 shape scale 的伽瑪分布具有密度

為了 , 。 (這裏 是由以下函數實現的Rgamma()並在其幫助中定義。注意 對應於所有質量都在 0 點的平凡分布。)

均值和方差為

累積危險

-pgamma(t, ..., lower = FALSE, log = TRUE)

請注意,對於較小的 shape 值(和中等的 scale ),伽馬分布的大部分質量位於 的值上,這些值非常接近零,以至於它們在計算機算術中將表示為零。因此rgamma很可能返回表示為零的值。 (對於非常大的 scale 值也會發生這種情況,因為實際生成是針對 scale = 1 完成的。)

dgamma 給出密度,pgamma 給出分布函數,qgamma 給出分位數函數,rgamma 生成隨機偏差。

無效參數將導致返回值 NaN ,並帶有警告。

結果的長度由 rgamman 確定,並且是其他函數的數值參數長度的最大值。

n 之外的數字參數將被回收到結果的長度。僅使用邏輯參數的第一個元素。

注意

S(Becker 等人,1988)參數化是通過 shaperate 進行的:S 沒有 scale 參數。同時提供 scalerate 是錯誤的。

pgamma與不完全伽瑪函數密切相關。根據 Abramowitz 和 Stegun 6.5.1(以及“數值配方”)的定義,這是

pgamma(x, a) 。其他作者(例如 Karl Pearson 在他的 1922 年表格中)省略了歸一化因子,將不完全伽馬函數 定義為 pgamma(x, a) * gamma(a) 。還有一些使用‘upper’不完整的伽瑪函數,

可以通過 pgamma(x, a, lower = FALSE) * gamma(a) 計算。

但請注意, pgamma(x, a, ..) 目前需要 ,而不完整的伽馬函數也為負 定義。在這種情況下,您可以使用包 gsl 中的 gamma_inc(a,x) (對於 )。

另請參閱 https://en.wikipedia.org/wiki/Incomplete_gamma_functionhttps://dlmf.nist.gov/8.2#i

例子

-log(dgamma(1:4, shape = 1))
p <- (1:9)/10
pgamma(qgamma(p, shape = 2), shape = 2)
1 - 1/exp(qgamma(p, shape = 1))

# even for shape = 0.001 about half the mass is on numbers
# that cannot be represented accurately (and most of those as zero)
pgamma(.Machine$double.xmin, 0.001)
pgamma(5e-324, 0.001)  # on most machines 5e-324 is the smallest
                       # representable non-zero number
table(rgamma(1e4, 0.001) == 0)/1e4

來源

dgamma 使用 Catherine Loader 貢獻的代碼通過泊鬆密度計算(請參閱 dbinom )。

pgamma 使用未發布(且未以其他方式記錄)的算法“主要由 Morten Welinder 開發”。

qgamma 基於 C 翻譯

貝斯特,D. J. 和 D. E. 羅伯茨 (1975)。算法AS91。卡方分布的百分點。應用統計學,24, 385-388。

加上最後的牛頓步驟來改進近似值。

rgamma 用於 shape >= 1 使用

Ahrens, J. H. 和 Dieter, U. (1982)。通過改進的拒絕技術生成伽瑪變量。 ACM 通訊,25、47-54、

對於 0 < shape < 1 用途

阿倫斯,J. H. 和迪特,U. (1974)。從伽瑪分布、貝塔分布、泊鬆分布和二項分布中采樣的計算機方法。計算,12, 223-246。

參考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988). The New S Language. Wadsworth & Brooks/Cole.

Shea, B. L. (1988). Algorithm AS 239: Chi-squared and incomplete Gamma integral, Applied Statistics (JRSS C), 37, 466-473. doi:10.2307/2347328.

Abramowitz, M. and Stegun, I. A. (1972) Handbook of Mathematical Functions. New York: Dover. Chapter 6: Gamma and Related Functions.

NIST Digital Library of Mathematical Functions. https://dlmf.nist.gov/, section 8.2.

也可以看看

gamma 用於伽瑪函數。

Distributions 用於其他標準分布,包括 dbeta 用於 Beta 分布和 dchisq 用於卡方分布(Gamma 分布的特殊情況)。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 The Gamma Distribution。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。