Kombinace měření

data: 299 798 000 +- 5000 m/s 299 789 000 +- 4000 m/s 299 797 000 +- 8000 m/s

In [1]:
cmea=r_[299798000.,299789000.,299797000.]
cerr=r_[5000,4000,8000]
cmea.mean(),cmea.std()


Out[1]:
(299794666.66666669, 4027.6819911981906)

In [2]:
cvar=sqrt((cerr**2).sum())/3
# zavedeme vahy
cmid=(cmea/cerr**2).sum()/(1./cerr**2).sum()
int(cmid),int(cvar)


Out[2]:
(299793105, 3415)

In [5]:
x=r_[cmid-10*cvar:cmid+10*cvar:100.]
gauss=lambda m,s:1/sqrt(2*pi)/s*exp(-(x-m)**2/2/s**2)
[plot(x,gauss(cmea[i],cerr[i])) for i in range(3)]
fill(x,gauss(cmea.mean(),cmea.std()/sqrt(2)),fc='m',alpha=0.3)
fill(x,gauss(cmid,cvar),fc='y',alpha=0.5)
#legend(['bez nejistot','vážené průměry'])
grid()


Jak vypadá součet (průměr) 3 proměnných s normálním rozdělením? Charakteristická fce $$\exp^{(i \sum(c) t)} \exp^{(-t^2 \sum(\sigma^2)/2)}$$ vede opět na rozdělení $N(\sum(c),\sqrt(\sum(cerr^2)))$, po vydělení počtem měření $N(mean(c),\sqrt(\sum(cerr^2))/3)$.

Jak započítáme váhy (přesnějším měřením věříme více)?

váhy $w=1/cerr^2/(\sum(1/cerr^2))$ vedou ke změně charakter. funkce s výsledným rozdělením $N(\sum(c*w),\sqrt{\sum(cerr^2*w^2)})$. Disperze pak je dána normalizačním faktorem ve jmenovateli: $$\sum(cerr^2*w^2)=\sum(1/cerr^2)/(\sum(1/cerr^2))^2=1/\sum(1/cerr^2)$$


In [4]:
S=sum(1./cerr**2)
wei=1./cerr**2/S

[plot(x,gauss(cmea[i],cerr[i])) for i in range(3)]
fill(x,gauss(cmid,sqrt(1/S)),fc='y',alpha=0.5)
grid()



In [5]:
# redukce disperze "správným" vážením
sqrt(1/S)/cvar


Out[5]:
0.85183541999991996
nova sada mereni:

In [7]:
cmea=r_[299794000.,299791000.,299770000.,299789000.,299790000.]
cerr=r_[3000,5000,2000,3000,4000]
cmea.mean(),cmea.std()


Out[7]:
(299786800.0, 8565.0452421455429)

In [7]:
cmid=((cmea/cerr**2).sum()/(1./cerr**2).sum())
cmid


Out[7]:
299781949.73417109

In [8]:
errorbar(range(1,6),cmea,cerr,fmt='o')
xlim(0,6)
axhline(cmid)
axhline(cmea.mean(),color='r')


Out[8]:
<matplotlib.lines.Line2D at 0xa30cd0c>

In [9]:
sel=abs(cmea-cmid)<3*cerr
sel


Out[9]:
array([ True,  True, False,  True,  True], dtype=bool)

In [12]:
errorbar(arange(1,6)[sel],cmea[sel],cerr[sel],fmt='o')
xlim(0,6)
ylim(299780000,299810000)
cmid=((cmea[sel]/cerr[sel]**2).sum()/(1./cerr[sel]**2).sum())
axhline(cmid)
axhline(cmea[sel].mean(),color='r')


Out[12]:
<matplotlib.lines.Line2D at 0x27d2810>

všechny uvedené úvahy vycházejí z normálního rozdělení měřených veličin!

Jak obecně najít špatná měření (ty, které způsobí velké vychýlení ev. zamítnutí hypotézy ): testovací proměnná $T_i=(\hat \theta_0 - \hat \theta_i)^T W^{-1} (\hat \theta_0 - \hat \theta_i)$, kde $W_i=E((\theta_0 - \theta_i)^2) =E(((\theta_0 -\theta) - (\theta_i - \theta)^2) =V_i-V$. V 1-dim případě pull=$(\theta_i - \theta)^2/(\sigma_i^2 - \sigma^2)$

Stratifikace

Pocitame prumer ze vzorku slozeneho ze 2 kategorii dat (prumerna vyska skupiny muzu a zen, jejichz pomer zname)

$$\mu = f_1 \mu_1 + f_2 \mu_2$$

rozptyl pro m1 měření z první a m2 z druhé skupiny pak vyjde

$$V = f_1^2 \frac{V_1}{m_1} + f_2^2 \frac{V_2}{m_2}$$

která dosahuje minima pro

$$\frac{m_1}{m_2}=\frac{f_1 \sqrt{V_1}}{f_2 \sqrt{V_2}}$$

Variance podle "chybného" průměru q misto $$\mu = \int P(x)\ x\ d x$$

$$\int{P(x)\ (x-q)^2\ \d x} = \int P(x) (x-\mu)^2 dx + \int P(x) (2x-\mu-q)(q-\mu) dx = V(x) + \mu^2-q^2 + 2 (q-\mu) \int P(x) x dx = V(x) - \mu^2-q^2 + 2 q \mu - 2\mu^2 = V(x) - (q-\mu)^2$$

tedy bereme-li náhodné zástupce obou skupin

$$\int [f_1 P_1(x) + f_2 P_2(x)] (x- \mu)^2 = f_1 V_1 + f_2 V_2 - f_1 (\mu-\mu_1)^2 - f_2 (\mu-\mu_2)^2 = f_1 V_1 + f_2 V_2 - f_1 f_2 (\mu_1-\mu_2)^2 (f_2-f_1)$$

Pokud víme, ze které skupiny je který prvek, třetí člen odpadá.