簡體   English   中英

R中的直方圖和密度

[英]Histogram and density in R

誰能給我解釋一下? 如果我運行以下

repet <- 10000
size <- 100
p <- .5
data <- (rbinom(repet, size, p) - size * p) / sqrt(size * p * (1-p))
hist(data, freq = FALSE)
x = seq(min(data) - 1, max(data) + 1, .01)
lines(x, dnorm(x), col='green', lwd = 4)

然后我得到直方圖和理論密度的合理一致(由於中心極限定理)。

在此處輸入圖片說明

如果我使用

hist(data, breaks = 100, freq = FALSE)

直方圖與理論密度明顯不同。

在此處輸入圖片說明

當我將中斷次數從 51 增加到 52 時,就會發生這種行為變化。為什么會發生這種變化?

這與您從rbinom生成的數據不連續這一事實有關。 它是離散的。 那里只有 ~35 個離散值(使用set.seed(15)length(unique(data)) )。 當您強制直方圖有 100 個中斷時,您會發現其中許多 bin 最終是空的

sum(hist(data, breaks = 100, freq = FALSE)$counts==0)
# [1] 36

因此,如果您會注意到第二個直方圖有一個條形,然后是一個空格(對於高度為 0 的條形),重復。 對於兩個直方圖,曲線下的總面積必須相同,但由於第二個圖中的條形寬度是其一半,因此它們需要是所有條形圖的兩倍。

所有這一切的重點是在使用離散數據的直方圖時要小心。 它們用於連續數據。 此外,您選擇的 bin 數量會對解釋產生很大的影響。 如果您更改默認值,您應該有充分的理由這樣做。

查看data中的值——精度限制為十分之一單位。 因此,如果您有太多的 bin,一些 bin 將落在數據點之間,並且命中計數為零。 其他的將具有相應更高的密度。

在您的實驗中,存在不連續的效果,因為breaks ...

只是一個建議; 斷點將設置為漂亮的值


您可以通過使用 vector 精確指定中斷來覆蓋breaks的任意行為。 我在下面證明了這一點,以及更直接的(基於整數的)二項式結果直方圖:

probability=0.5 ## probability of success per trial
trials=14 ## number of trials per result
reps=1e6 ## number of results to generate (data size)

## generate histogram of random binomial results
data <- rbinom(reps,trials,probability)
offset = 0.5 ## center histogram bins around integer data values
window <- seq(0-offset,trials+offset) ## create the vector of 'breaks'
hist(data,breaks=window)

## demonstrate the central limit theorem with a predictive curve over the histogram
population_variance = probability*(1-probability) ## from model of Bernoulli trials
prediction_variance <- population_variance / trials
y <- dnorm(seq(0,1,0.01),probability,sqrt(prediction_variance))
lines(seq(0,1,0.01)*trials,y*reps/trials, col='green', lwd=4)

修正圖表


關於問題中顯示的第一個圖表:使用repet <- 10000 ,直方圖應該非常接近正常(“大數定律”導致收斂),並且重復運行相同的實驗(或進一步增加repet )不會t 改變形狀很多——盡管有明顯的隨機性。 第一個圖表中的明顯隨機性也是有問題的繪圖錯誤的產物。 更簡單地說:問題中顯示的兩個圖表都非常錯誤(因為breaks )。

暫無
暫無

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

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