概率统计的基本概念,书上的定义背不过?没关系,给你来段大白话~
1 基本概念
(1)样本空间:
在随机试验里,可能发生的【所有结果的集合】。每个可能的结果称为样本点。
ps:【所有结果的集合】是重点。你可能又问了:随机试验是啥呀?
(2)随机试验:
你就记住【抛硬币】。相同条件下可多次重复进行,每次结果不一定,但你又能知道所有的可能结果。
ps:【抛硬币】是重点,记住这个想象一下场景就行了。
(3)随机事件:
随机试验中样本空间的子集。
(别告诉我你不知道子集是什么……)
(4)随机事件之间的关系:
包含关系:A ⊂ B;相等关系:A = B
和(并)事件:A ⋃ B = A + B – AB(绿的+蓝的-红的)

差事件:


(2)相互独立事件:指在不同试验下的两个事件互不影响. 逆事件(对立事件):(咱俩没有任何交集,且全局只有咱俩)

对立一定互斥,互斥不一定对立。我与你对立一定是看不惯你(互斥),但我看不惯你(互斥),不一定与你对立。(你细品是不是很有道理的亚子)
2 概率计算
概率基础:古典概型,条件概率,贝叶斯公式;
(1)古典概型(等概率发生)
每个样本点发生的概率相同。
例题:抽签模型
(2)条件概率
A发生条件下B发生的概率。
(3)概率论基本公式
全概率公式:



这里有一些练习题。
3 随机变量及其分布
3.1 离散型随机变量
(1)两点分布(0-1分布、伯努利分布):


3.2 离散随机变量的均值

(1)若Y = aX+b,则 E(Y) = E(aX+b) = aE(X) + b
(2)若X~B(n,p),则 E(X)=np
3.3 离散型随机变量的方差和标准差

(1)若X服从两点分布,D(X) = p(1-p)
(2)若X~B(n,p),则 D(X) = np(1-p)
(3)若Y = aX+b,则 D(Y) = D(aX+b) = a^2D(X)
3.4 协方差与相关系数
两种描述两个变量之间关系的方式。



说了这么多
4 实战一下
4.1 python实现二项分布
(1)题目:野外正在进行9(n=9)口石油勘探井的发掘工作,每一口井能够开发出油的概率是0.1(p=0.1)。请问,最终所有的勘探井都勘探失败的概率?
(2)基础知识:
(2.1)模拟分布:numpy.random.binomial(n,p,size=None)3个参数:n表示伯努利试验次数,p表示伯努利试验得到正例的概率,size表示采样次数;返回结果为出现正例的次数k。


import numpy as np
n = 9
p = 0.1
size=20000
binomial_example=np.random.binomial(n,p,size)
print('最终所有的勘探井都勘探失败的概率:')
sum(binomial_example==0)/float(size)
# 不能使用整数相除
4.2 均值、标准差、协方差和相关系数
# 随机生成两个样本
x = np.random.randint(0, 9, 1000)
y = np.random.randint(0, 9, 1000)
#1000个
# 计算平均值
mx = x.mean()
my = y.mean()
# 计算标准差
stdx = x.std()
stdy = y.std()
# 计算协方差矩阵
covxy = np.cov(x, y)
print(covxy)
# 相关系数矩阵
coefxy = np.corrcoef(x, y)
print(coefxy)
4.3 贝叶斯公式
贝叶斯公式推导
狼来了的故事
题目:假设有两碗曲奇饼,碗A包含30个香草曲奇饼和10个巧克力曲奇饼,碗B这两种曲奇饼各20个。 现在假设你在不看的情况下随机地挑一个碗拿一块饼,得到了一块香草曲奇饼。从碗A渠道香草曲奇饼的概率是多少
class Bayes(object):
def __init__(self):
self._container = dict()
def Set(self,hypothis,prob):#先验概率
self._container[hypothis]=prob
def Mult(self,hypothis,prob): #后验概率
old_prob = self._container[hypothis]
self._container[hypothis] = old_prob*prob
def Normalize(self):#贝叶斯公式
count = 0
for hypothis in self._container.values():
count=count+hypothis
for hypothis,prob in self._container.items():
self._container[hypothis]=self._container[hypothis]/count
def Prob(self,hypothis):
Prob = self._container[hypothis]
return Prob
#实例化Bayes类
bayes = Bayes()
#先验概率
bayes.Set('Bow_A',0.5) #P(碗A)=1/2
bayes.Set('Bow_B',0.5) #P(碗B)=1/2
#后验概率
bayes.Mult('Bow_A',0.75) #P(香草饼|碗A)=3/4
bayes.Mult('Bow_B',0.5) #P(香草饼|碗B)=1/2
bayes.Normalize()
prob = bayes.Prob('Bow_A')#P(碗A|香草饼)
print('从碗A渠道香草曲奇饼的概率:{}'.format(prob))
从碗A渠道香草曲奇饼的概率:0.6
ps:倔强的我错了,好像白话不了,你品吧,你细品~
参考来源:
https://wenku.baidu.com/view/892c96da900ef12d2af90242a8956bec0975a582.html
https://blog.csdn.net/lynn0085/article/details/78914750
https://blog.csdn.net/olizxq/article/details/82319227
https://wenku.baidu.com/view/434e854d5acfa1c7aa00cc36.html
https://blog.csdn.net/denlee/article/details/98498822
网友评论