概率统计Python计算:连续型总体未知参数的最大似然估计

在这里插入图片描述
( X 1 , X 2 , ⋯   , X n ) (X_1,X_2,\cdots,X_n) (X1,X2,,Xn)是来自总体 X X X的样本, ( x 1 , x 2 , ⋯   , x n ) (x_1,x_2,\cdots,x_n) (x1,x2,,xn)为样本的一个观测值。已知 X X X的分布,其中含有 m m m个未知参数 θ 1 , θ 2 , ⋯   , θ m \theta_1,\theta_2,\cdots,\theta_m θ1,θ2,,θm,记 θ = ( θ 1 , θ 2 , ⋯   , θ m ) \theta=(\theta_1,\theta_2,\cdots,\theta_m) θ=(θ1,θ2,,θm)。即若 X X X为离散型的,已知分布律 P ( X = x k ; θ ) = p ( x k ; θ ) P(X=x_k;\theta)=p(x_k;\theta) P(X=xk;θ)=p(xk;θ) k = 1 , 2 , ⋯ k=1,2,\cdots k=1,2,。若 X X X为连续型的,已知密度函数 f ( x ; θ ) f(x;\theta) f(x;θ)。样本 ( X 1 , X 2 , ⋯   , X n ) (X_1,X_2,\cdots,X_n) (X1,X2,,Xn)为一 n n n-维随机向量,且 X 1 , X 2 , ⋯   , X n X_1,X_2,\cdots,X_n X1,X2,,Xn独立同分布。若 X X X是离散型的,根据上面的假设, ( X 1 , X 2 , ⋯   , X n ) (X_1,X_2,\cdots,X_n) (X1,X2,,Xn)的联合分布律为
P ( X 1 = x 1 , X 2 = x 2 , ⋯   , X n = x n ; θ ) = ∏ i = 1 n p ( x i ; θ ) P(X_1=x_1,X_2=x_2,\cdots,X_n=x_n;\theta)=\prod_{i=1}^{n}p(x_i;\theta) P(X1=x1,X2=x2,,Xn=xn;θ)=i=1np(xi;θ)
X X X为连续型的, ( X 1 , X 2 , ⋯   , X n ) (X_1,X_2,\cdots,X_n) (X1,X2,,Xn)的联合密度函数为
f ( x 1 , x 2 , ⋯   , x n ; θ ) = ∏ i = 1 n f ( x i ; θ ) f(x_1,x_2,\cdots,x_n;\theta)=\prod_{i=1}^{n}f(x_i;\theta) f(x1,x2,,xn;θ)=i=1nf(xi;θ)
上述的 P ( X 1 = x 1 , X 2 = x 2 , ⋯   , X n = x n ; θ ) P(X_1=x_1,X_2=x_2,\cdots,X_n=x_n;\theta) P(X1=x1,X2=x2,,Xn=xn;θ) f ( x 1 , x 2 , ⋯   , x n ; θ ) f(x_1,x_2,\cdots,x_n;\theta) f(x1,x2,,xn;θ)统一地称为样本的似然函数,记为 L ( x 1 , x 2 , ⋯   , x n ; θ ) = L ( x 1 , x 2 , ⋯   , x n ; θ 1 , θ 2 , ⋯   , θ m ) L(x_1,x_2,\cdots,x_n;\theta)=L(x_1,x_2,\cdots,x_n;\theta_1,\theta_2,\cdots,\theta_m) L(x1,x2,,xn;θ)=L(x1,x2,,xn;θ1,θ2,,θm)
在总体参数 θ = ( θ 1 , θ 2 , ⋯   , θ m ) \theta=(\theta_1,\theta_2,\cdots,\theta_m) θ=(θ1,θ2,,θm)的似然函数 L ( x 1 , x 2 , ⋯   , x n ; θ ) L(x_1,x_2,\cdots,x_n;\theta) L(x1,x2,,xn;θ)中,仅将 θ 1 , θ 2 , ⋯   , θ m \theta_1,\theta_2,\cdots,\theta_m θ1,θ2,,θm视为变元,其他视为常数,则可简记为 L ( θ ) = L ( θ 1 , θ 2 , ⋯   , θ m ) L(\theta)=L(\theta_1,\theta_2,\cdots,\theta_m) L(θ)=L(θ1,θ2,,θm)。若 X X X是离散型的,令 Θ = { θ ∣ 0 < L ( θ ) < 1 } \Theta=\{\theta|0<L(\theta)<1\} Θ={θ∣0<L(θ)<1},若 X X X是连续型的,令 Θ = { θ ∣ L ( θ ) > 0 } \Theta=\{\theta|L(\theta)>0\} Θ={θL(θ)>0}。我们设法计算使得似然函数 L ( θ ) L(\theta) L(θ)最大(也就是使 ( X 1 , X 2 , ⋯   , X n ) (X_1,X_2,\cdots,X_n) (X1,X2,,Xn)的联合分布在 ( x 1 , x 2 , ⋯   , x n ) (x_1,x_2,\cdots,x_n) (x1,x2,,xn)处概率最大)的 θ \theta θ的值 θ ∧ = ( θ ∧ 1 , θ ∧ 2 , ⋯   , θ ∧ m ) \stackrel{\wedge}{\theta}=(\stackrel{\wedge}{\theta}_1,\stackrel{\wedge}{\theta}_2,\cdots,\stackrel{\wedge}{\theta}_m) θ=(θ1,θ2,,θm)。即
L ( θ ∧ ) = max ⁡ θ ∈ Θ { L ( θ ) } L(\stackrel{\wedge}{\theta})=\max\limits_{\theta\in\Theta}\{L(\theta)\} L(θ)=θΘmax{L(θ)}
其中, θ ∧ i \stackrel{\wedge}{\theta}_i θi i = 1 , 2 , ⋯   , m i=1,2,\cdots,m i=1,2,,m)一定是 ( x 1 , x 2 , ⋯   , x n ) (x_1,x_2,\cdots,x_n) (x1,x2,,xn)的函数 θ ∧ i ( x 1 , x 2 , ⋯   , x n ) \stackrel{\wedge}{\theta}_i(x_1,x_2,\cdots,x_n) θi(x1,x2,,xn),称为参数 θ i \theta_i θi的{\heiti{最大似然估计值}}。而将 θ i ∧ ( X 1 , X 2 , ⋯   , X n ) \stackrel{\wedge}{\theta_i}(X_1,X_2,\cdots,X_n) θi(X1,X2,,Xn)称为参数 θ i \theta_i θi i = 1 , 2 , ⋯   , m i=1,2,\cdots,m i=1,2,,m)的最大似然估计量
为计算已知分布类型的连续型总体 X X X中未知参数的最大似然估计值,可以调用表示该类分布的对象的fit函数,其调用接口为
fit(data) \text{fit(data)} fit(data)
其中参数data传递样本数据,返回分布的loc、scale参数的最大似然估计值。根据loc、scale与总体的待估参数之间的对应关系,即可算得待估参数的最大似然计值。
例1 设总体 X X X~ U ( a , b ) U(a, b) U(a,b) a a a b b b未知。来自总体 X X X的,容量 n = 20 n=20 n=20的样本观测值为
1.248 , 1.664 , 1.101 , 1.967 , 1.468 , 1.140 , 1.434 , 1.063 , 1.878 , 1.375 1.819 , 1.704 , 1.328 , 1.619 , 1.830 , 1.764 , 1.034 , 1.553 , 1.878 , 1.166 1.248,1.664,1.101,1.967,1.468,1.140,1.434,1.063,1.878,1.375\\ 1.819,1.704,1.328,1.619,1.830,1.764,1.034,1.553,1.878,1.166 1.248,1.664,1.101,1.967,1.468,1.140,1.434,1.063,1.878,1.3751.819,1.704,1.328,1.619,1.830,1.764,1.034,1.553,1.878,1.166
试计算 a a a b b b的最大似然计值。
解: 下列代码完成本例的计算。

import numpy as np                              #导入numpy
from scipy.stats import uniform                 #导入uniform
x=np.array([1.248, 1.664 ,1.101 ,1.967 ,1.468,  #设置样本数据数组
            1.140, 1.434, 1.063, 1.878, 1.375,
            1.819, 1.704, 1.328, 1.619, 1.830,
            1.764, 1.034, 1.553, 1.878, 1.166])
l, s=uniform.fit(x)                             #loc,scale的矩估计
a=l                                             #a的矩估计
b=a+s                                           #b的矩估计
print('最大似然估计a=%.4f, b=%.4f'%(a, b))

注意,第7行调用uniform(第2行导入)的fit函数,计算均匀分布的最大似然估计仅返回loc和scale的估计值。运行程序,输出

最大似然估计a=1.0340, b=1.9670

写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
代码诚可贵,原理价更高。若为AI学,读正版书好
返回《导引》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值