前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Task1:随机事件与随机变量

Task1:随机事件与随机变量

作者头像
诡途
发布2022-05-09 19:20:17
7750
发布2022-05-09 19:20:17
举报
文章被收录于专栏:诡途的python路诡途的python路

阅读小助手

框架思维导图

思维导图
思维导图

一、基本概念

样本空间:随机试验的所有可能结果组成的集合,\Omega

随机事件:样本空间Ω中满足一定条件的子集,用大写字母A,B,C... 表示 (随机事件在随机试验中可能出现也可能不出现)

随机变量(Random Variable):取值不确定的量 eg:掷骰子,掷出的点数记为X,可能取1,2…6; X的取值不确定,X就是随机变量

结果(Outcome):随机变量的观测值(具体的数) eg:掷出的点数是1,1就是一次结果,1,2,3,4,5,6都是结果, 且掷骰子只有这六种结果

事件(Event):随机变量+结果 结合的整体为事件 eg:掷出点数为1(X=1),就是事件

互斥事件(Mutually exclusive events):两个事件不可同时发生

完备事件(Exhaustive events):包含所有结果的事件.

概率:随机事件出现的可能性(likelihood)大小

二、概率基础

1、古典概型

概念: ① 样本空间中只有有限个样本点

② 每个样本点出现是等可能的

③ 每次试验有且仅有一个样本点发生

Python实现

代码语言:javascript
复制
#采用函数的递归的方法定义阶乘函数:
def factorial(n):
    if n == 0:
        return 1;
    else:
        return (n*factorial(n-1)) 
        
#也可以直接导包
from math import factorial
l_fac = factorial(365);          #l的阶乘
l_k_fac = factorial(365-40)      #l-k的阶乘
l_k_exp = 365**40                #l的k次方

P_B =  l_fac /(l_k_fac * l_k_exp)     #P(B)
print("事件B的概率为:",P_B)
print("40个同学中至少两个人同一天过生日的概率是:",1 - P_B)

2、条件概率

定义

在这里插入图片描述
在这里插入图片描述

乘法法则(Multiplication rule):

3、全概率公式

推导过程

在这里插入图片描述
在这里插入图片描述

4、贝叶斯公式——Baye's Formula

树状图计算——Baye's Formula 简单运用

在这里插入图片描述
在这里插入图片描述

假设:

B(条件/信息):摸眉毛;A(事件):好牌\Longrightarrow 求:P(A|B)=?
P(A|B)=\frac{AB}{P(B)}=\frac{①}{①+③}=\frac{0.5*0.9}{0.5*0.9+0.5*0.05}=0.95

三、随机变量及其分布特征

0、随机变量分类

连续型随机变量和离散性随机变量

1、期望Expected Value(μ/E(X))

数学期望E(X) 又称为均值(加权平均,概率为权重), 代表了随机变量取值的平均值

E(X)=\Sigma Xi *P(xi)=X1*P(x1)+X2*P(x2)+...+Xn*P(xn)

2、方差Variance(总体σ^2/样本s^2

σ^2=\Sigma Pi*(Xi-EX)^2
=E(Y)=E[(X-EX)^2]
=E[(X-EX)(X-EX)]

3、协方差Covariance(COV)

COV(X,X)=E[(X-EX)(X-EX)]=σ^2(X)
COV(X,Y)=E[(X-EX)(Y-EY)]

4、相关系数correlation(ρ)

相关系数=协方差除以标准差的积

\rho XY=\frac{COV(X,Y)}{\sqrt{\sigma^2 X \sigma^2 Y}}==\frac{COV(X,Y)}{\sigma X \sigma Y}

python实现

代码语言:javascript
复制
#导入包
import pandas as pd
import numpy as np

#构造单个随机变量
random_X=pd.DataFrame({"P(X)":[0.2,0.3,0.1,0.2,0.1,0.1]},index=list(range(1,7))).T
random_X


#定义期望、方差计算函数
#期望
def cpt_EX(X,P_X):
    return sum([x*p for x,p in list(zip(X,P_X))])

#方差
def cpt_Var(X,P_X):
    
    #list转化为array 进行广播运算,list直接广播这里没问题,下面计算协方差好像有问题
    return cpt_EX((np.array(X)-cpt_EX(X,P_X))**2,P_X)

X=random_X.columns
P_X=random_X.loc['P(X)'].tolist()
print("随机变量 X 的期望是:%s"%cpt_EX(X,P_X))
print("随机变量 X 的方差是:%s"%cpt_Var(X,P_X))


#构造联合概率分分步表
joint_prob=pd.DataFrame([[0.15,0,0],[0,0.60,0],[0,0,0.25],],
                        index=["X1=0.20","X2=0.15","X3=0.04"],
                        columns=["Y1=0.40","Y2=0.20","Y3=0.00"])
joint_prob
#取对角线
P_xy=np.diagonal(joint_prob, offset=0, axis1=0, axis2=1).tolist()
X=[float(value[3:]) for value in joint_prob.index]
Y=[float(value[3:]) for value in joint_prob.columns]

#定义协方差、相关系数计算函数
#协方差
def cpt_Cov(X,Y,P_xy):
    return sum([p*x_Ex*y_Ey for p,x_Ex,y_Ey in list(zip(P_xy,(np.array(X)-cpt_EX(X,P_xy)),(np.array(Y)-cpt_EX(X,P_xy))))])

#相关系数
def cpt_corr(X,Y,P_xy):
    return cpt_Cov(X,Y,P_xy)/(cpt_Var(X,P_xy)*cpt_Var(Y,P_xy))**(1/2) if (cpt_Var(X,P_xy) !=0)&(cpt_Var(Y,P_xy)!=0) else 0

print(" 随机变量 X 的期望是:%s \n"%cpt_EX(X,P_xy),
      "随机变量 Y 的期望是:%s \n"%cpt_EX(Y,P_xy),
      "随机变量 X,Y 的协方差是:%s \n"% cpt_Cov(X,Y,P_xy),
      "随机变量 X,Y 的相关系数是:%.3f \n"%cpt_corr(X,Y,P_xy))

#验证自己与自己的协方差等于方差
X=random_X.columns
P_X=random_X.loc['P(X)'].tolist()
print("  随机变量 X 的方差是:%s \n"%cpt_Var(X,P_X),
      " 随机变量 X 的协方差是:%s \n"%cpt_Cov(X,X,P_X),)

代码运行样例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参看资料Datawhale开源-概率统计 numpy 取出对角线元素、计算对角线元素和 np.diagonal

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 阅读小助手
  • 框架思维导图
  • 一、基本概念
  • 二、概率基础
    • 1、古典概型
      • 2、条件概率
        • 3、全概率公式
        • 三、随机变量及其分布特征
          • 0、随机变量分类
            • 1、期望Expected Value(μ/E(X))
              • 2、方差Variance(总体 )
                • 3、协方差Covariance(COV)
                  • 4、相关系数correlation(ρ)
                  相关产品与服务
                  灰盒安全测试
                  腾讯知识图谱(Tencent Knowledge Graph,TKG)是一个集成图数据库、图计算引擎和图可视化分析的一站式平台。支持抽取和融合异构数据,支持千亿级节点关系的存储和计算,支持规则匹配、机器学习、图嵌入等图数据挖掘算法,拥有丰富的图数据渲染和展现的可视化方案。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档