数学---概率与似然

概率(probability)和似然(likelihood),都是指可能性,都可以被称为概率,但在统计应用中有所区别。

概率是给定某一参数值,求某一结果的可能性。
例如,抛一枚匀质硬币,抛10次,6次正面向上的可能性多大?
解读:“匀质硬币”,表明参数值是0.5,“抛10次,六次正面向上”这是一个结果,概率(probability)是求这一结果的可能性。

似然是给定某一结果,求某一参数值的可能性。
例如,抛一枚硬币,抛10次,结果是6次正面向上,其是匀质的可能性多大?
解读:抛10次,结果是6次正面向上,这是一个给定的结果,问匀质”的可能性,即求参数值=0.5的可能性。
计算公式与上面相同。结果相同,只是视角不同。
与此相联系的是最大似然法,就本例说事,问题就变成:抛10次,结果是6次正面朝上,那么,参数P的最大可能值是什么?当然,一切都有可能,但可能性不同。怎么求出可能性最大的(即最像的)的呢?最基本的办法是一个一个试,先求参数值为0.01的可能性(即概率),再算参数值为0.02的概率,依此类推,直到0.99的概率,看看哪个参数值的概率最大,就把它作为参数的估计值,这就是最大似然法。
如果用软件从0.1,0.2,0.3···一直试下去,可得参数值为0.6的概率最大,因此0.6就是用极大似然法求出的参数估计值。

from scipy.special import comb
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

#计算概率
def getProbability(n, k, p):
    return comb(n,k)*pow(p, k)*pow(1-p, (n-k))

result = []
for i in range(100):
    result.append(getProbability(10,6,0.01*i))

fig = plt.figure(figsize=(10, 5))
ax1 = fig.add_subplot(111)
ax1.plot(np.linspace(0, 1.0, num=100), result, 'ko')
ax1.set_title('最大似然估计')
fig.show()

数学---概率与似然_第1张图片
但这只是一次实验的结果,如果我们进行大量的实验,并且每次投掷的次数也加大,参数值的估计值会趋于0.5。

上面是给了二项分布的一个结果,求参数p的最大似然估计的过程。如果给了多个结果,即给出一个二项分布的样本,为x1,x2,……,xn,那么就可以推导极大似然法的公式了。公式为p=(ΣX)/(N*n),
证明过程:
以抛硬币试验为例,设N=10,n=5,N是参数,n是二项分布的样本容量。则一个随机样本就是7,5,4,3,7(用R软件生成的随机二项分布的随机样本,其真实值p=0.5)。就是说,第一轮试验10次,正面向上出现了7次;第二轮试验10次,正面向上出现了5次,……,第5轮试验了10次,正面向上出现了7次。
P(X=xi)=C(N,xi)*pxi*(1-p)(N-xi)
所以极大似然函数:
L(x1,x2……xn,p)=C(N,x1)*C(N,x2)……*C(N,xn)*p(∑xi)*(1-p)(Nn-∑xi)
取对数ln L=ln(C(N,x1)*C(N,x2)……*C(N,xn))+(∑xi)lnp+(Nn-∑xi)ln(1-p)
对p求导
d(ln L)/dp=(∑xi)/p-(Nn-∑xi)/(1-p)
在p=(∑xi)/Nn时,d(ln L)/dp=0,且此时L取最大值
所以p的极大似然估计是p=(∑xi)/Nn=26/50=0.52(与真实值0.5相比,误差很小)
也就是说,利用极值定理,可以求出似然值,不用真的一个一个去比,看看哪个最“似然”(最像)。

你可能感兴趣的:(数学)