Python 贝叶斯统计

Python 贝叶斯统计,python,bayesian,Python,Bayesian,我需要知道如何找到两个离散分布的贝叶斯概率。例如,分布如下所示: hypo_A=[ 0.1,0.4,0.5,0.0,0.0,0.0] hypo_B=[ 0.1,0.1,0.1,0.3,0.3,0.1] 他们两个的前一个可能性相同 给出了贝叶斯公式p(x/H)=(p(H/x)*p(x))/(求和(p(H/x`)*p(x`)) 基本上,我需要知道如何用python将这些不相等的分布相乘。我强烈推荐阅读这本书 下面是我编写的python对贝叶斯统计的简单移植: from collections im

我需要知道如何找到两个离散分布的贝叶斯概率。例如,分布如下所示:

hypo_A=[ 0.1,0.4,0.5,0.0,0.0,0.0]
hypo_B=[ 0.1,0.1,0.1,0.3,0.3,0.1]
他们两个的前一个可能性相同

给出了贝叶斯公式
p(x/H)=(p(H/x)*p(x))/(求和(p(H/x`)*p(x`))


基本上,我需要知道如何用python将这些不相等的分布相乘。

我强烈推荐阅读这本书

下面是我编写的python对贝叶斯统计的简单移植:

from collections import namedtuple
hypothesis=namedtuple('hypothesis',['likelihood','belief'])
class DiscreteBayes:
    def __init__(self):
        """initiates the hypothesis list"""
        self.hypo=dict()
    def normalize(self):
        """normalizes the sum of all beliefs to 1"""
        s=sum([float(h.belief) for h in self.hypo.values()])
        self.hypo=dict([(k,hypothesis(likelihood=h.likelihood,belief=h.belief/s)) for k,h in self.hypo.items()])
    def update(self,data):
        """updates beliefs based on new data"""
        if type(data)!=list:
            data=[data]
        for datum in data:
            self.hypo=dict([(k,hypothesis(likelihood=h.likelihood,belief=h.belief*h.likelihood(datum))) for k,h in self.hypo.items()])
        self.normalize()
    def predict(self,x):
        """predict new data based on previously seen"""
        return sum([float(h.belief)*float(h.likelihood(x)) for h in self.hypo.values()])
就你而言:

hypo_A = [ 0.1,0.4,0.5,0.0,0.0,0.0]
hypo_B = [ 0.1,0.1,0.1,0.3,0.3,0.1]
d = DiscreteBayes()
d.hypo['hypo_A'] = hypothesis(likelihood=hypo_A.get ,belief=1)
d.hypo['hypo_B'] = hypothesis(likelihood=hypo_B.get ,belief=1)
d.normalize()
x = 1
d.update(x) #updating beliefs after seeing x
d.predict(x) #the probability of seeing x in the future
print (d.hypo)

欢迎来到简历!你的意思是$p(y | x)$,即y以x为条件的概率?
start
是什么意思?如果您只对Python实现感兴趣,那么您的运气可能会更好。在这里提问时,人们通常认为你自己也会尝试一下,只是在寻求帮助来解决你所拥有的问题。所以试试看。。。即使只是一些伪代码。使用谷歌或任何关于python的书籍做一些研究。。。然后回到这里,编辑你的问题,并添加你的所有工作结果,我们可以帮助你将其形成。