首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >独立随机变量: PMF计算

独立随机变量: PMF计算
EN

Stack Overflow用户
提问于 2022-05-23 10:18:01
回答 1查看 130关注 0票数 0

考虑随机变量。假设取值1,…,具有概率1,…,并取值1,…,具有概率1,…、。假设是独立的。实现函数joint_pmf(xvalue、xprobs、yvalue、yprobs),该函数接受值1、…的数组。,作为xvalue,概率1,…的数组。,作为xprobs,与yvalue和yprobs相同。函数应该返回一个字典,其中键是元组(x,y),其中x是某个值,y是,对应的值是联合概率质量函数的值,(,)

代码语言:javascript
复制
def joint_pmf(xvalues, xprobs, yvalues, yprobs):
     # your code

testdata = [([1], [1], [2, 3], [0.2, 0.8]),
            ([1, 2], [0.5, 0.5], [3, 4, 5], [0.3, 0.3, 0.4])]
answers = [{(1, 2): 0.2, (1, 3): 0.8},
           {(1, 3): 0.15,
            (1, 4): 0.15,
            (1, 5): 0.2,
            (2, 3): 0.15,
            (2, 4): 0.15,
            (2, 5): 0.2}]

for data, answer in zip(testdata, answers):
    assert joint_pmf(*data) == answer

在找到解决方案之前,我无法理解这个任务。例如,对于4x值(1、1、2、3、0.2、0.8),测试数据中只有两个概率?为什么像x=1和y=1这样的答案中没有这样的值?{(1,1):.}?你能解释一下吗?或者你的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2022-05-23 12:51:00

代码语言:javascript
复制
def joint_pmf(xvalues, xprobs, yvalues, yprobs):
    jpm = {}
    for i in range(len(xvalues)):
        for j in range(len(yvalues)):
            jpm[(xvalues[i],yvalues[j])] = xprobs[i]*yprobs[j]
    return jpm

也许是更优雅的解决方案?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72346880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档