2016-03-02 144 views
1

誰能向我解釋這一點? 如果我運行下面的直方圖和密度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) 

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

enter image description here

如果我使用

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

直方圖是從理論密度顯著不同。

enter image description here

當我增加休息51〜52的數量爲什麼會發生這種變化發生的行爲?

回答

1

這與您從rbinom生成的數據不連續有關。它是離散的。在那裏只有~35個離散值(與set.seed(15)length(unique(data)))。當你強迫直方圖有100週休息,你會發現其中許多斌最終被空

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

所以,如果你會發現第二直方圖設有一間酒吧,然後一個空間(與高度酒吧0),重複。曲線下方的總面積必須與直方圖相同,但由於第二個曲線圖中的條紋寬度爲一半,所以它們需要全部兩倍。

所有這些的要點是在使用帶有離散數據的直方圖時要小心。它們用於連續數據。此外,您選擇的垃圾箱數量可能會對解讀產生重大影響。如果你改變默認值,你應該有一個很好的理由這樣做。

1

奧祕在於理解你的數據,這不是一個問題的情節。

看看data中的值 - 精度被限制在一個單位的十分之一。因此,如果垃圾箱數量太多,某些垃圾箱會落在數據點之間,並且會有零點擊數。其他人將有相應更高的密度。

在你的實驗中,有一個不連續的影響,因爲breaks ...

只是一個建議;斷點將被設置爲相當值

如果你想在你的數據更加獨特點,增加你傳遞給rbinomsize值。