基于R和Python的极大似然估计的牛顿法实现

目录

0.前言

1.理论基础

2.Cauchy分布的极大似然估计

2.1理论基础

2.2算法

2.2.1R语言实现

2.2.2Python语言实现

3.Gamma 分布的极大似然估计

3.1理论基础

3.2算法

3.2.1R语言实现

3.2.2Python语言实现


0.前言

        最近在学习Theory and Method of Statistics(统计理论方法),使用的教材是由Bradley Efron 、Trevor Hastie共同编写的Computer Age Statistical Inference: Algorithms, Evidence, and Data Science(《计算机时代的统计推断:算法、演化和数据科学》)。书中第四章讲述的Fisherian Inference and Maximum Likelihood Estimation(费雪推断和极大似然估计),其中提到现实应用中极大似然估计并没有那么容易求解,比如Cauchy分布Gamma分布。

        如果极大似然估计方法没有显式解,可以考虑用数值计算的方法求解(如牛顿法);更进一步,如果二阶导不存在或Hessian矩阵非正定,可以使用拟牛顿法;再复杂一些,可以使用MM算法(EM是MM的特例)​ 。本文以牛顿法为例,给出求解 Cauchy分布、Gamma分布的极大似然估计参数的理论并使用R和Python实现。

1.理论基础

        本节给出牛顿法求分布的极大似然参数估计的一般理论。

        如果随机变量x 独立同分布于f(x|\theta),且已知一组样本X=\{x_1,...,x_n\}​ ,为了估计该分布的参数,可以使用极大似然估计的方法。

       首先写出样本的似然函数

L(\theta)=f(x_1,...,x_n|\theta)=\prod_{i=1}^{n}f(x_i|\theta)

       对L(\theta)​ 进行对数化处理,得到对数似然函数l(\theta)

l(\theta)=ln(L(\theta))=\sum_{i=1}^{n}ln(f(x_i,\theta))

       则求解未知参数\theta等价于求解以下等式方程组

\dot{l}(\hat{\theta})=\frac{\partial{l(\hat{\theta})}}{\partial{\hat{\theta}}}=\vec{0}

       不妨假设收敛解为\hat{\theta}​ ,将\dot{l}(\theta)在​ \hat{\theta}的邻域内展开成泰勒级数得

\dot{l}(\theta)=\dot{l}(\hat{\theta})+\ddot{l}(\hat{\theta})(\theta-\hat{\theta})+o(||\theta-\hat{\theta}||_2^2)

\dot{l}(\theta)=\dot{l}(\hat{\theta})+\ddot{l}(\hat{\theta})(\theta-\hat{\theta}),\theta\rightarrow \hat{\theta}

\dot{l}(\hat{\theta})=0\Rightarrow \theta=\hat{\theta}-(\ddot{l}(\hat{\theta}))^-\dot{l}(\hat{\theta})

       这样就得到一个迭代关系式

\hat{\theta}^{(k+1)}=\hat{\theta}^{(k)}-(\ddot{l}(\hat{\theta}^{(k)}))^-\dot{l}(\hat{\theta}^{(k)})

       如果是连续的,并且待求的零点是孤立的,那么在零点周围存在一个区域,只要初始值位于这个邻近区域内,那么牛顿法必定收敛。 并且,如果不为0, 那么牛顿法将具有平方收敛的性能。 粗略地说,这意味着每迭代一次,牛顿法结果的有效数字将增加一倍。

2.Cauchy分布的极大似然估计

        如果随机变量x服从柯西分布,记为x\sim{C(\gamma,\theta)} ,其中\gamma为最大值一半处的一半宽度的尺度参数(scale parameter ),\theta为定义分布峰值位置的位置参数(location parameter )

f(x|\gamma,\theta)=\frac{1}{\pi\gamma}\frac{1}{(1+(\frac{x-\theta}{\gamma})^2)}=\frac{1}{\pi}\frac{\gamma}{({x-\theta})^2+\gamma^2},x\in(-\infty,\infty)

       当\gamma=1,\theta=0 ,此时的Cauchy 分布称为标准Cauchy 分布

f(x|\gamma=1,\theta0)=\frac{1}{\pi}\frac{1}{(1+{x}^2)},x\in(-\infty,\infty)

       Cauchy 分布的最特别的性质是其期望及高阶矩都不存在,自然也就无法对参数进行矩估计。但Cauchy分布的cdf具有很好的性质,可以利用一组样本的分位点来对参数进行点估计。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值