简体   繁体   中英

R implementation of a Multinominal Problem: Probability of n-times head in k throws with varying probabilities per throw

im struggleing with a potential easy to solve Problem. I have a dataset with 100k series of coin throws with varying k (throws). For each series I want to compute the the probability for each discrete n-state of getting head (sic.). Eg 4 throws with the probabilities of c(,25.,5.,25..75) to throw head, No I would like to calculate of how probable it is to get 0,1,2,3.4 -times head. I assume it is a different variant of a classical multinominal distribution? Is there a easy R command that I could apply or a formula ?

Greetings and Thanks! David

So far I just tried to create a function that hard calcualtes each case, like 3 throws with

prob = c(0.3,0.2,.5)

#only 1 no_sites = (1-.3) (1-.2) (1-.5)

#3 one_site = ((.3) (1-.2) (1-.5)) + ((1-.3) (.2) (1-.5)) + ((1-.3) (1-.2) (.5))

#3
two_sites = ((.3) (.2) (1-.5)) + ((1-.3) (.2) (.5)) + ((.3) (1-.2) (.5))

#1 three_sites = (.3) (.2) (.5)

sum(no_sites, one_site, two_sites, three_sites) = 1

Yet there should be a formula that is able to do so, without annoying hardcoded caclulations.

The sum of Bernouilli distributions is a Poisson Binomial Distribution . There's the package poisbinom that you can use to calculate those probabilities.

With the vector of probabilities you gave:

install.packages("poisbinom")

library(poisbinom)

pp <- c(.25,.5,.25,.75)
dpoisbinom(4, pp)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM