您的位置:首页 > 其它

读书笔记数据科学入门————概率

2016-09-19 21:38 239 查看

本章摘要:

  概率论是一种对从事件空间中抽取的事件的不确定性进行量化的一种方式。我们用投掷硬币来举例,空间就是指所有可能的结果的集合。这些结果任意一部分就是事件。

条件概率

 如果事件E和事件F相互独立那么有如下的定义:

   P(E,F) = P(E)P(F)

如果两者不一定独立那么E关于F的条件概率为

P(E|F) = P(E,F)/P(F)

P(E,F) = P(F)P(E|F)

如果E和F相互独立那么上面算式表示成P(E|F) = P(E)

F的发生并不会影响E的发生概率

经典问题:生两个孩子

第二个孩子性别的概率与第一个孩子性别概率相互独立

那么问两个孩子都是女孩事件是大孩子是女孩的条件概率是多少

以及两个孩子是女孩关于至少一个孩子是女孩的概率是多少。

def random_kid():
return random.choice(["boy","gril"])

for _ in range(10000):
younger = random_kid()
older = random_kid()
if older=="gril":
older_grils+=1
if older=="gril" and younger=="gril":
both_grils+=1
if older=="gril" or younger =="gril":
either_gril+=1

贝叶斯定理

贝叶斯定理属于条件概率的某种逆运算,如果需要计算事件E基于已经发生的事件F的条件概率,但我们已经仅仅知道事件F基于已经发生的E的条件概率。

P(E|F) = P(E,F)/P(F) = P(F|E)P(E)/P(F)

然后用全概率公式分解P(F) = P(F,E) + P(F,~E)

正态分布

钟型曲线,由两个参数决定均值u和标准差sigma

def normal_pdf(x,mu=0,sigma=1):
sqrt_two_pi = math.sqrt(2*math.pi)
return (math.exp(-(x-mu)**2/2/sigma**2)/(sqrt_two_pi*sigma))
绘制出来

plt.plot(xs,[normal_pdf(x,sigma=1) for x in xs],'-',label='mu=0,sigma=1')

这是概率密度函数连续形状



中心极限定理

正态分布如此广泛,很大程度是因为中心极限定理。这个定理是讲一个定义为大量独立同分布的随机变量的均值的随机变量本身接近于正态分布

x1,x2,x3...xn均值是u标准差是sigma而且n很大

那么1/n(x1+x2+...xn)近似正态分布,而且均值是u标准差是sigm/sqrt(n)

可以用可视化验证

二项分布如果N足够大的时候近似正态分布

>>> def bernoulli_trial(p):
return 1 if random.random()<p else 0

>>> def binomial(n,p):
return sum(bernoulli_trial(p) for _ in range(n))

>>> def make_hist(p,n,num_points):
data = [binomial(n,p) for _ in range(num_points)]
histogram = Counter(data)
plt.bar([x-0.4 for x in histogram.keys()],[v/numpoints for v in
  histogram.values()],
0.8,color = '0.75')
mu = p*n
sigma = math.sqrt(n*p*(1-p))
xs = range(min(data),max(data)+1)
ys = [normal_cdf(i+0.5,mu,sigma)-normal_cdf(i-0.5,mu,sigma) for i in xs]
plt.plot(xs,ys)
plt.show()

>>> make_hist(0.75,100,10000)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: