Пример #1
0
def BPrvs(cl,cld,cm,n):
    ga=cl+cld-cm;gb=-cm
    try: a,b=gg2ab(ga,gb)
    except AssertionError:return np.ones(n)*np.nan,np.ones(n)*np.nan
    res=stats.betaprime.rvs(a,b,scale=1,size=n)
    res[res==0]=np.exp(-20)
    return np.log(res),res
Пример #2
0
def BErvs(cl,cld,cu,n):
    try: a,b=gg2ab(cl+cld,cu)
    except AssertionError: return np.ones(n)*np.nan,np.ones(n)*np.nan 
    res=stats.beta.rvs(a,b,0,scale=10,size=n)
    res[res==10]=10-np.exp(-20)
    res[res==0]=np.exp(-20)
    res0=logit(res/10.)
    return res0,res
Пример #3
0
def BBpmf(np1,np2,cl,gb=-0.3):
    n=np2
    try: a,b=gg2ab(cl,gb)
    except AssertionError: 
        return np.nan*np.zeros(n),np.arange(n)
    res=[]
    for k in range(n):
        res.append(binom(n-1,k)*beta(k+a,n-k-1+b)/beta(a,b))
    return res,np.arange(n)
Пример #4
0
def BBrvs(cl,cld,cn,n,cu=-0.3):
    if type(n) is int: 
        rr=1;nn=n
    else: 
        rr=n[1];nn=n[0]
    a,b=gg2ab(cl+cld,cu)
    res=stats.beta.rvs(a,b,0,1,size=(nn,rr))
    res[res==1]=1-np.exp(-20)
    res[res==0]=np.exp(-20)
    res=np.random.binomial(cn-1,res)
    res0=(2*res+1)/2./float(cn)
    res0=logit(res0)
    return res0,res/(cn-1) 
Пример #5
0
def BEpdf(x,np1,np2,cl):
    try: a,b=gg2ab(cl,np2)
    except AssertionError: return np.nan*np.zeros(x.size)
    return stats.beta.pdf(x,a,b,0,scale=1)
Пример #6
0
def BPpdf(x,np1,np2,cl):
    ga=cl-np2;gb=-np2
    a,b=gg2ab(ga,gb)
    #except AssertionError:
    #    return np.zeros(x.size)*np.nan
    return stats.betaprime.pdf(x,a,b,scale=1)