簡體   English   中英

創建一個Beta發行版QQ圖

[英]Creating a beta distribution Q-Q plot

我的任務是根據beta分布創建100個隨機生成的數字,並使用分位數圖將隨機變量與beta分布進行比較。
這是我的嘗試:

library(MASS)
library(qualityTools)
Random_Numbers_Beta <- rbeta(100, 1, 1)
qqPlot(Random_Numbers_Beta, "beta", list(shape = 1, rate = 1))

不幸的是出了點問題。 這是發生的錯誤:

Error in (function (x, densfun, start, ...)  : 
'start' must be a named list

這個問題可以解決嗎?

首先,您必須指定list(shape = 1, rate = 1)start參數; 現在,此列表被視為confbounds參數的值。 其次,實際上不是shaperate ,而是shape1shape2 ,例如?dbeta

qqPlot(Random_Numbers_Beta, "beta", start = list(shape1 = 1, shape2 = 1))

在此處輸入圖片說明

再次檢查?qqPlot您可能會看到...表示“ 其他圖形參數:(請參閱par)。 ”因此,您可以按自己喜歡的方式修改該圖。 例如,添加col = 'red'

還要注意,Beta(1,1)只是[0,1]上的均勻分布,因此,其分位數函數是恆等函數。 也就是說,對於[0,1]中的任何xqbeta(x, 1, 1) == x 因此,您也可以直接與

x <- seq(0, 1, length = 500)
plot(quantile(Random_Numbers_Beta, x), x)
abline(a = 0, b = 1, col = 'red')

在此處輸入圖片說明

如果您不需要置信區間。


但是,可以注意到,這兩個情節略有不同。 考慮到您的任務,您似乎需要第二個。

在第一個中, qqPlot看起來適合您的數據的beta分布並使用其分位數,這顯然不完全是恆等函數。 也就是說,它沒有使用有關參數的確切知識。 第二個情節利用了這一知識。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM