... import numpy
from pylab import *
from pacal import *
|
||
.
|
||
Using compiled interpolation routine
... from pacal.distr import demo_distr
|
||
.
|
||
... L0 = UniformDistr(9,10)
L1 = UniformDistr(11,12)
dT = NormalDistr(1,2)
k = (L1/L0 - 1)/dT
k.plot(linewidth=3, color = "k")
k.hist(xmin=-1,xmax=1,color="0.75")
k.summary()
|
||
.
|
||
============= summary ============= ((U(11,12)/U(9,10))-1)/N(1,2) mean = 0.00778444188329 std = inf var = inf median = 0.0746995786027 medianad = 0.126533522192 iqrange(0.025) = 2.97731719835 range = (-inf, inf) ci(0.05) = (-1.4608136836263554, 1.5165035147281165) int_err = 8.79296635503e-14
... print "P(K<0) - NormalDistr(1,2).cdf(0) =", k.cdf(0)[0] - NormalDistr(1,2).cdf(0)[0]
|
||
.
|
||
P(K<0) - NormalDistr(1,2).cdf(0) = -4.14113188185e-14
... xlim(-1,1)
ylim(ymin=0)
title("Distribution of thermal expansion coefficient")
show()
|
||
.
|
||
... |
||
.
|
||
... from scipy.optimize.optimize import fminbound
# E1 = UniformDistr(0,2)
# E2 = BetaDistr(2,2)
# E2 = BetaDistr(0.5,0.5)
E1 = UniformDistr(-1,1)
E2 = NormalDistr()
E1.summary()
|
||
.
|
||
============= summary ============= U(-1,1) mean = 3.51164110413e-16 std = 0.57735026919 var = 0.333333333333 median = 0.0 medianad = 0.5 iqrange(0.025) = 1.9 range = (-1.0, 1.0) ci(0.05) = (-0.94999999999999996, 0.94999999999999996) int_err = 0.0
... E2.summary()
|
||
.
|
||
============= summary ============= N(0.0,1.0) mean = 1.94289029309e-16 std = 1.0 var = 1.0 median = -7.77156117238e-16 medianad = 0.674489750196 iqrange(0.025) = 3.91992796908 range = (-inf, inf) ci(0.05) = (-1.9599639845398045, 1.9599639845400472) int_err = -4.4408920985e-16
... def E(alpha):
alpha = numpy.squeeze(alpha)
return alpha*E1 + (1 - alpha)*E2
print
|
||
.
|
||
... print "Combining measurements for optimal variance"
|
||
.
|
||
Combining measurements for optimal variance
... alphaOptVar = fminbound(lambda alpha: E(alpha).var(), 0, 1, xtol = 1e-16)
print "alphaOptVar = ", alphaOptVar
|
||
.
|
||
alphaOptVar = [ 0.75]
... dopt = E(alphaOptVar)
dopt.summary()
|
||
.
|
||
============= summary ============= 0.75*U(-1,1)+0.25*N(0.0,1.0) mean = 1.56125112838e-16 std = 0.5 var = 0.25 median = 0.0 medianad = 0.382868515015 iqrange(0.025) = 1.83555677038 range = (-inf, inf) ci(0.05) = (-0.91777838519074428, 0.91777838519074428) int_err = 0.0
... print
|
||
.
|
||
... print "Combining measurements for optimal Median Absolute Deviance"
|
||
.
|
||
Combining measurements for optimal Median Absolute Deviance
... alphaOptMad = fminbound(lambda alpha: E(alpha).medianad(), 0, 1, xtol = 1e-16)
print "alphaOptMAD = ", alphaOptMad
|
||
.
|
||
alphaOptMAD = [ 0.64492105]
... dopt = E(alphaOptMad)
dopt.summary()
|
||
.
|
||
============= summary ============= 0.644921052358*U(-1,1)+0.355078947642*N(0.0,1.0) mean = 1.49186218934e-16 std = 0.514511529171 var = 0.26472211365 median = -5.55111512313e-17 medianad = 0.366016941933 iqrange(0.025) = 1.96758060444 range = (-inf, inf) ci(0.05) = (-0.98379030222134256, 0.98379030222134167) int_err = -2.22044604925e-16
... print
|
||
.
|
||
... print "Combining measurements for optimal 95% confidence interval"
|
||
.
|
||
Combining measurements for optimal 95% confidence interval
... alphaOptIQrange = fminbound(lambda alpha: E(alpha).iqrange(0.025), 0, 1, xtol = 1e-16)
print "alphaOptIQrange = ", alphaOptIQrange
|
||
.
|
||
alphaOptIQrange = [ 0.86972011]
... dopt = E(alphaOptIQrange)
dopt.summary()
|
||
.
|
||
============= summary ============= 0.869720113907*U(-1,1)+0.130279886093*N(0.0,1.0) mean = 2.65412691824e-16 std = 0.518758653806 var = 0.269110540899 median = -2.22044604925e-16 medianad = 0.434874411821 iqrange(0.025) = 1.77536580577 range = (-inf, inf) ci(0.05) = (-0.88768290288250762, 0.88768290288250618) int_err = -4.4408920985e-16
... print "-----------------------"
|
||
.
|
||
-----------------------
... figure()
E1.plot(color='k')
E2.plot(color='k')
E(alphaOptVar).plot(color='r')
E(alphaOptMad).plot(color='g')
E(alphaOptIQrange).plot(color='b')
show()
|
||
.
|
||
... figure()
E(alphaOptVar).get_piecewise_cdf().plot(color='r')
E(alphaOptMad).get_piecewise_cdf().plot(color='g')
E(alphaOptIQrange).get_piecewise_cdf().plot(color='b')
show()
|
||
.
|
||