极大似然估计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
极大似然估计极大似然估计
极大似然估计方法在金融领域中的应用十分广泛。该方法利用已知的概率密
度函数形式,构造对数似然函数,然后最大化该似然函数从而求得概率密度函数中所含的参数估计量。比如:对GARCH(1,1)模型中的参数估计中,如果均值方程中的扰动项服从正态分布,则我们可以利用正态分布的概率密度函数对所含参数进行估计。
1.极大似然估计基本原理 (1)参数估计
下面以线性回归中系数的极大似然估计为例来说明极大似然估计基本原理。考虑线性回归:Y X βε=+,2~(0,)Y X N εβσ=−
则对于X 和Y 的每一对观测值(,)i i X Y ,这里,i X 为行向量,其概率密度函
数形式如下: 2
1(,)())2i i i i Y X f X Y βσ−=
− 给定N 对相互独立的观测值(,)i i X Y ,1,2,...,i N =,样本中所有观测值的总体概率密度函数(,)L βσ
为单个观测值概率密度函数的乘积,即:
2
1
1(,)())2N
i i i Y X L ββσσ=−=− (1) 极大似然估计要给出参数(,)βσ的估计量使得(1)式最大。由于(1)式为乘积的形式,直接对最大化(1)式求解最优解,比较麻烦。因此,采用似然函数的
对数形式:
22
1
1(,)[()]2N
i i i LnL Ln Y X βσβσ
==−
−∑
然后求解以下最优化问题:
22
(,)
1
1max (,)[()]2N
i i i LnL Ln Y X βσβσβσ==−
−∑ (2)
最后得到的参数(,)βσ的估计量与普通最小二乘法得到的结果一样。因此,当普通最小二乘法回归方程中的残差服从正态分布时,普通最小二乘估计与极大似然估计的结果是一样的。
更一般地,我们用θ表示需要估计的参数向量,相应地对数似然函数为:()LnL θ。 (2)参数估计的标准误差
求解优化问题(2),虽然给出了参数θ的估计量ˆθ
,但并没有给出估计的标
准误差。如果对数似然函数()LnL θ在其估计量ˆθ
处的二阶倒数的期望是已知的,则极大似然估计量的渐进协方差矩阵1[()]I θ−满足:
21
11
()()()[()]{[]}{[()()]}LnL LnL LnL I E E θθθθθθθθ−−−∂∂∂=−=′′
∂∂∂∂ (3)
通常情况下()LnL θ是一个非常复杂的非线性函数,我们很难得到(3)式中期望值的解析解形式。因此,根据(3)式来求解极大似然估计量的渐进协方差矩阵1[()]I θ−的解析解形式很困难。其中一个方法就是利用下面的式子(4)来估计
1[()]I θ−,其中1ˆˆ[()]I
θ−为1[()]I θ−的估计。 111ˆˆˆˆ[()][]N
i i i I g g
θ−−=′=∑ (4) 其中:ˆ[(,)]ˆˆi i Ln f X g
θ
θ
∂=∂ [(,)]i Ln f X θ表示在观测值(,)i i X Y 处的对数似然函数。
由于(4)式中的[(,)]i Ln f X θ在通常情况下仍然是一个复杂的非线性函数,
求解ˆi g
的解析形式也非常困难。因此,我们通常以数值解形式(5)来近似ˆi g 。
ˆˆˆˆ[(,)][(,)]ˆˆ2i i
i i Ln f X Ln f X g h θθθθθ
+∆−−∆≈=∆ (5)
因此,极大似然估计量的渐进协方差矩阵估计量为11[]N
i i i h h −=′∑。
2.极大似然估计的MATLAB 函数
基于以上极大似然估计的原理,我们可以编写以下MATLAB 函数进行极大似然估计。
function [para,standard_deviation,fv]=my_mle(fun,para0,varargin)
%estimate parameters and standard errors when using maximium likelihood estimation(MLE) %input
%fun: a function defined by users for calculating log probability density function (pdf) and negative sum of logarithm of pdf %para0 : given initial parameters
%para: estimated parameters
% standard_deviation: standard deviations of estimated parameters
% fv: maximized likelihood function value
%%%%%%%%%%%
%example1: estimate mean and standard deviation by realizations of a %random variable which is normally distributed
%%%%%%%%%
%%%%%%%%%
% example2:estimate coefficients in a linear regression
% clear
% x=randn(500,1);
% y=2+3*x+randn(500,1);
% [para,standard_deviation,fv]=my_mle('mynormpdfsum001',[1;2;3],y,x) % %%%%%%%%%%%
% function f=mynormpdfsum001(para,num,y,x)
% yy=1/sqrt(2*pi)/para(3)*exp(-(y-para(1)-para(2)*x).^2/2/para(3)^2); % if num==1 %(note: it must be set to 1)
% f=log(yy);
% else f=-sum(log(yy));end
%%%%%%%%%%
%Zhiguang Cao, 2006,2,23
%caozhiguang@
para0=para0(:);
[para,fv]=fminsearch(fun,para0,[],2,varargin{:});
fv=-fv;
n=length(para);
d=numericalfirstderivative(fun,para,1,varargin{:});
standard_deviation=sqrt(diag(pinv(d'*d))); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function f=numericalfirstderivative(fun,parameter,varargin)
% input:
% fun: the name of a function
% parameter: given parameter with respect to which first-order derivative is calculated