예제 #1
0
def findLikelihood(q, r, hypo):
	Q = hypo
	distancePmf = trianglePrior(r, (1.0/3)) #gaussian distribution of error

	qstarPmf = thinkbayes.Pmf()

	for  dist, p in distancePmf.Items():
		qstar = heatflux(Q, dist)
		qstarPmf.Set(qstar, p)

	qstars = sorted(qstarPmf.GetDict().keys())
	qNearest = nearestNeighbor(qstars, q)
	qstar = qstars[qNearest]

	# if qstar > q:
	# 	right = qstarPmf.Prob(qstar)
	# 	left = qstarPmf.Prob(qstars[qNearest-1])
	# 	like = (right+left)/2
	
	# else:
	# 	left = qstarPmf.Prob(qstar)
	# 	right = qstarPmf.Prob(qstars[qNearest+1])
	# 	like = (right+left)/2
	like = qstarPmf.Prob(qstar)
	return like
예제 #2
0
	def Likelihood(self, hypo, data):
		"""
		@param hypo: the range of hypothesis
		used to generate a prior
		@type hypo: xrange
		@param data: the values for
		heatflux and distance from the fire (q, r)
		@type data: tuple
		"""
		q = data[0]
		r = data[1]

		q_star = heatflux(hypo, r)
		error = q-q_star

		like = thinkbayes.EvalGaussianPdf(0, .01, error)
		return like