Hypergeometric distribution

k balls # taken without replacement from an urn with

m white balls and n black balls # (all in all- m+n)

x or q (from the interval [0 - k] ) #is the number of white balls in the sample

               m        n       m+n

P( x, k, m, n) = ( ) * ( )/ ( ) x k-x k

require('ggplot2')
m <- 5 ; n <- 5
k <- 10
x <- c(0:10)
y <- dhyper(x, m, n, k, log = FALSE)
qplot(x, y, color = I("red"), 
      size = I(2), alpha = I(1/2), geom = c("point"))

Which is totally logical. We drew ALL the balls, 5 of them are white, 5 - black, the probability of 5 white balls is = 1

Let’s eliminate the effect of removal by increasing the overall number of balls in the urn but keep the proportion the same

m <- 1000 ; n <- 1000
k <- 10
y <- dhyper(x, m, n, k, log = FALSE)
qplot(x, y, color = I("green"), 
      size = I(2), alpha = I(1/2), geom = c("point"))

Exactly the same as the Binomial distribution with size = 10 and p=0.5 .

Now let’s dampen the effect of removal gradually

m <- 6 ; n <- 6
k <- 10
y <- dhyper(x, m, n, k, log = FALSE)
qplot(x, y, color = I("steelblue"), 
      size = I(2), alpha = I(1/2), geom = c("point"))

only the neighbours of the central point are nonzero

m <- 8 ; n <- 8
k <- 10
y <- dhyper(x, m, n, k, log = FALSE)
qplot(x, y, color = I("blue"), 
      size = I(2), alpha = I(1/2), geom = c("point"))

On and on it goes…

m <- 10 ; n <- 10
k <- 10
y <- dhyper(x, m, n, k, log = FALSE)
qplot(x, y, color = I("green"), 
      size = I(2), alpha = I(1/2), geom = c("point"))

10 white and 10 black, sample 10 still much sharper than the Binomial with size 10 and p=0.5

Now let’s move it to the sides in the case when the effect of removal is still visible

m <- 15 ; n <- 5
k <- 10
y <- dhyper(x, m, n, k, log = FALSE)
qplot(x, y, color = I("red"), 
      size = I(2), alpha = I(1/2), geom = c("point"))

m <- 5 ; n <- 15
k <- 10
y <- dhyper(x, m, n, k, log = FALSE)
qplot(x, y, color = I("magenta"), 
      size = I(2), alpha = I(1/2), geom = c("point"))

Hypergeometric is just MUCH sharper if the numbers are comparable.

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

LS0tDQp0aXRsZTogIkh5cGVyZ2VvbWV0cmljIERpc3RyaWJ1dGlvbiINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCkh5cGVyZ2VvbWV0cmljIGRpc3RyaWJ1dGlvbg0KDQprIGJhbGxzIA0KIyB0YWtlbiB3aXRob3V0IHJlcGxhY2VtZW50IGZyb20gYW4gdXJuIHdpdGgNCg0KbSB3aGl0ZSBiYWxscyBhbmQNCm4gYmxhY2sgYmFsbHMgDQojIChhbGwgaW4gYWxsLSBtK24pDQoNCnggb3IgcSAgKGZyb20gdGhlIGludGVydmFsIFswIC0ga10gKQ0KI2lzIHRoZSBudW1iZXIgb2Ygd2hpdGUgYmFsbHMgaW4gdGhlIHNhbXBsZQ0KICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgIG0gICAgICAgIG4gICAgICAgbStuDQpQKCB4LCBrLCBtLCBuKSA9ICggICApICogKCAgICAgKS8gKCAgICAgKQ0KICAgICAgICAgICAgICAgICAgIHggICAgICAgay14ICAgICAgIGsNCg0KDQpgYGB7cn0NCnJlcXVpcmUoJ2dncGxvdDInKQ0KDQptIDwtIDUgOyBuIDwtIDUNCmsgPC0gMTANCg0KeCA8LSBjKDA6MTApDQp5IDwtIGRoeXBlcih4LCBtLCBuLCBrLCBsb2cgPSBGQUxTRSkNCg0KcXBsb3QoeCwgeSwgY29sb3IgPSBJKCJyZWQiKSwgDQogICAgICBzaXplID0gSSgyKSwgYWxwaGEgPSBJKDEvMiksIGdlb20gPSBjKCJwb2ludCIpKQ0KYGBgDQoNCldoaWNoIGlzIHRvdGFsbHkgbG9naWNhbC4gV2UgZHJldyBBTEwgdGhlIGJhbGxzLCA1IG9mIHRoZW0gYXJlIHdoaXRlLCA1IC0gYmxhY2ssIHRoZSBwcm9iYWJpbGl0eSBvZiA1IHdoaXRlIGJhbGxzIGlzID0gMQ0KDQoNCkxldCdzIGVsaW1pbmF0ZSB0aGUgZWZmZWN0IG9mIHJlbW92YWwgYnkgaW5jcmVhc2luZyB0aGUgb3ZlcmFsbCBudW1iZXIgb2YgYmFsbHMgaW4gdGhlIHVybiBidXQga2VlcCB0aGUgcHJvcG9ydGlvbiB0aGUgc2FtZQ0KDQpgYGB7cn0NCm0gPC0gMTAwMCA7IG4gPC0gMTAwMA0KayA8LSAxMA0KDQp5IDwtIGRoeXBlcih4LCBtLCBuLCBrLCBsb2cgPSBGQUxTRSkNCg0KcXBsb3QoeCwgeSwgY29sb3IgPSBJKCJncmVlbiIpLCANCiAgICAgIHNpemUgPSBJKDIpLCBhbHBoYSA9IEkoMS8yKSwgZ2VvbSA9IGMoInBvaW50IikpDQpgYGANCg0KRXhhY3RseSB0aGUgc2FtZSBhcyB0aGUgQmlub21pYWwgZGlzdHJpYnV0aW9uIHdpdGggc2l6ZSA9IDEwIGFuZCBwPTAuNSAuDQoNCk5vdyBsZXQncyBkYW1wZW4gdGhlIGVmZmVjdCBvZiByZW1vdmFsIGdyYWR1YWxseQ0KDQpgYGB7cn0NCm0gPC0gNiA7IG4gPC0gNg0KayA8LSAxMA0KDQp5IDwtIGRoeXBlcih4LCBtLCBuLCBrLCBsb2cgPSBGQUxTRSkNCg0KcXBsb3QoeCwgeSwgY29sb3IgPSBJKCJzdGVlbGJsdWUiKSwgDQogICAgICBzaXplID0gSSgyKSwgYWxwaGEgPSBJKDEvMiksIGdlb20gPSBjKCJwb2ludCIpKQ0KYGBgDQoNCm9ubHkgdGhlIG5laWdoYm91cnMgb2YgdGhlIGNlbnRyYWwgcG9pbnQgYXJlIG5vbnplcm8NCg0KYGBge3J9DQptIDwtIDggOyBuIDwtIDgNCmsgPC0gMTANCg0KeSA8LSBkaHlwZXIoeCwgbSwgbiwgaywgbG9nID0gRkFMU0UpDQoNCnFwbG90KHgsIHksIGNvbG9yID0gSSgiYmx1ZSIpLCANCiAgICAgIHNpemUgPSBJKDIpLCBhbHBoYSA9IEkoMS8yKSwgZ2VvbSA9IGMoInBvaW50IikpDQpgYGANCg0KT24gYW5kIG9uIGl0IGdvZXMuLi4NCg0KYGBge3J9DQptIDwtIDEwIDsgbiA8LSAxMA0KayA8LSAxMA0KDQp5IDwtIGRoeXBlcih4LCBtLCBuLCBrLCBsb2cgPSBGQUxTRSkNCg0KcXBsb3QoeCwgeSwgY29sb3IgPSBJKCJncmVlbiIpLCANCiAgICAgIHNpemUgPSBJKDIpLCBhbHBoYSA9IEkoMS8yKSwgZ2VvbSA9IGMoInBvaW50IikpDQpgYGANCg0KMTAgd2hpdGUgYW5kIDEwIGJsYWNrLCBzYW1wbGUgMTAgc3RpbGwgbXVjaCBzaGFycGVyIHRoYW4gdGhlIEJpbm9taWFsIHdpdGggc2l6ZSAxMCBhbmQgcD0wLjUNCg0KTm93IGxldCdzIG1vdmUgaXQgdG8gdGhlIHNpZGVzIGluIHRoZSBjYXNlIHdoZW4gdGhlIGVmZmVjdCBvZiByZW1vdmFsIGlzIHN0aWxsIHZpc2libGUNCg0KYGBge3J9DQptIDwtIDE1IDsgbiA8LSA1DQprIDwtIDEwDQoNCnkgPC0gZGh5cGVyKHgsIG0sIG4sIGssIGxvZyA9IEZBTFNFKQ0KDQpxcGxvdCh4LCB5LCBjb2xvciA9IEkoInJlZCIpLCANCiAgICAgIHNpemUgPSBJKDIpLCBhbHBoYSA9IEkoMS8yKSwgZ2VvbSA9IGMoInBvaW50IikpDQpgYGANCg0KYGBge3J9DQptIDwtIDUgOyBuIDwtIDE1DQprIDwtIDEwDQoNCnkgPC0gZGh5cGVyKHgsIG0sIG4sIGssIGxvZyA9IEZBTFNFKQ0KDQpxcGxvdCh4LCB5LCBjb2xvciA9IEkoIm1hZ2VudGEiKSwgDQogICAgICBzaXplID0gSSgyKSwgYWxwaGEgPSBJKDEvMiksIGdlb20gPSBjKCJwb2ludCIpKQ0KYGBgDQoNCkh5cGVyZ2VvbWV0cmljIGlzIGp1c3QgTVVDSCBzaGFycGVyIGlmIHRoZSBudW1iZXJzIGFyZSBjb21wYXJhYmxlLg0KDQoNCkFkZCBhIG5ldyBjaHVuayBieSBjbGlja2luZyB0aGUgKkluc2VydCBDaHVuayogYnV0dG9uIG9uIHRoZSB0b29sYmFyIG9yIGJ5IHByZXNzaW5nICpDdHJsK0FsdCtJKi4NCg0KV2hlbiB5b3Ugc2F2ZSB0aGUgbm90ZWJvb2ssIGFuIEhUTUwgZmlsZSBjb250YWluaW5nIHRoZSBjb2RlIGFuZCBvdXRwdXQgd2lsbCBiZSBzYXZlZCBhbG9uZ3NpZGUgaXQgKGNsaWNrIHRoZSAqUHJldmlldyogYnV0dG9uIG9yIHByZXNzICpDdHJsK1NoaWZ0K0sqIHRvIHByZXZpZXcgdGhlIEhUTUwgZmlsZSkuDQo=