váhy $w_i$ odpovídají hodnotám binů histogramu (nad jistý práh) nebo logaritmu hodnot
$x_{mean} = \sum x_i w_i / \sum w_i$
nejistota
$w_i=a N_i$
$w_i=\log(a N_i)$
$w_i=N_i-l$ ($l$ - volba hladiny)
v našem případě je šum konstatní (vnější zdroj)
%pylab inline
from scipy import stats
dset1=stats.poisson(30).rvs(1000)
stids='151629,151633,151637,151639,151643,151644,151654,151656,151659'.split(',')
stids+='151660,151662,151666,151667,151668,144824,151669,151675,151677,151678,151679,151680,151683,151688'.split(',')
stids=open("../Prakt/slist2016.txt").read().split(', ')
len(stids)
simulovan asymetricky pik
x=r_[-10.:10:100j]
cln=exp(-(x-5)**2/4-3e-2*(x-5)**3-3e-3*(x-5)**4)
plot(x,cln)
x=r_[0:10:100j]
#cln=exp(-(x-5)**2/4-.3e-1*(x-5)**3-.1e-4*(x-5)**4)
cln=exp(-(x-5)**2/4-2e-2*(x-5)**3-3e-3*(x-5)**4)
nois=0.1
rln=cln+stats.norm(0,nois).rvs(size=cln.shape)
plot(x,rln)
a,b=rln,x
levs=r_[.1:.9:15j]
pos=[((a[a>l]-l)*b[a>l]).sum()/(a[a>l]-l).sum() for l in levs] # spoctene polohy teziste
plot(levs,pos)
xlabel("hladina")
ylabel("poloha teziste")
plot(b,a)
plot(pos,levs,'r')
axhline(0.4)
sel=a>0.4
fill_between(b[sel],0.4,a[sel],alpha=0.2)
xlabel('x')
ylabel('y')
text(5,0.2,'poloha teziste',color='r')
možno nafitovat polynomem (2. stupně) nebo exponenciální závislostí (nelineární regrese) - zde dostaneme jasnou asymptotickou hodnotu $x_{mean}$
errorbar(levs,pos,0.1*mb/norm**2)
p=pres[0]
plot(levs,p[0]+p[1]*exp(-levs/p[2]))
p=pres2[0]
plot(levs,p[0]+p[1]*exp(-levs/p[2]))
pres[0][0],pres2[0][0]