概率论中的数学期望

在描述统计当中,数学期望通常是均值
概率论中,其实也没有多大差别,数学期望表达的是事件在概率确定时最终发生的期望值。
这里有一个思维转换,为何均值也是期望值呢?需要联系一下回归的公理论证,譬如切比雪夫大数定理。
简单来说,当事件发生的发生足够多时,概率会逐渐接近理论上的均值。
所以,得到事件的经验概率时,就可以近似的等于理论的真实概率。
引申一下,方差本质上也是在围绕数学期望做摆动。
而数学期望的这个原理,则可以很好的表达一些预期的长期收益可能性。
方法也极其简单,既:

∑ n > 1 ( 概 率 ∗ 收 益 ) \sum_{n>1}(概率*收益) n>1()

这里代码用基因来做例子,来说明单项与组合收益

import numpy as np
import torch

data = np.loadtxt("/基因组序列数据/MT259251.genome.fasta",delimiter='\t',dtype=str)

#分割行
def line(n):
    return np.array(list(data[n]))
line(1)

#计算概率
def prob(SET):
    m = SET.size
    kind,count = np.unique(SET,return_counts=True)
    return dict(zip(kind,count/m))
prob(line(1))

#计算数学期望
def ME(prob_dict,scores):
    return { key:score*prob_ for key,prob_,score in zip(prob_dict.keys(),prob_dict.values(),scores) }

# 测试代码
P = prob(line(1))
Score = np.random.randn(4)
ME(P,Score)

在这里插入图片描述

sorted(ME(P,Score).items(), key=lambda x: x[1], reverse=True)[0]

在这里插入图片描述
计算最大数学期望

def EM(data):
    src = dict(enumerate(set("".join(list(data)))))
    S = dict(zip(src.values(),np.zeros(len(src))))
    A,C,G,T = 0,0,0,0
    for i in range(data.size):
        P = ME(prob(line(i)),Score)
        for key,value in P.items():
            if key == "A":
                S["A"] += value
            elif key == "C":
                S["C"] += value
            elif key == "G":
                S["G"] += value
            elif key == "T":
                S["T"] += value
    compare = sorted(S.items(), key=lambda x: x[1], reverse=True)
    return list(filter(lambda x : x[1] != 0,compare))[0],compare

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值