为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > Matlab函数:极大似然估计

Matlab函数:极大似然估计

2022-12-24 4页 pdf 25KB 19阅读

用户头像 个人认证

陨辰

暂无简介

举报
Matlab函数:极大似然估计function[para,standard_deviation,fv]=my_mle(fun,para0,varargin)%estimateparametersandstandarderrorswhenusingmaximiumlikelihoodestimation(MLE)%input%fun:afunctiondefinedbyusersforcalculatinglogprobabilitydensityfunction(pdf)andnegativesumoflogarithmofpdf%para0:giveni...
Matlab函数:极大似然估计
function[para,standard_deviation,fv]=my_mle(fun,para0,varargin)%estimateparametersandstandarderrorswhenusingmaximiumlikelihoodestimation(MLE)%input%fun:afunctiondefinedbyusersforcalculatinglogprobabilitydensityfunction(pdf)andnegativesumoflogarithmofpdf%para0:giveninitialparameters%varargin:otherneededparametersrequiredbyfun%output%para:estimatedparameters%standard_deviation:standarddeviationsofestimatedparameters%fv:maximizedlikelihoodfunctionvalue%%%%%%%%%%%%example1:estimatemeanandstandarddeviationbyrealizationsofa%randomvariablewhichisnormallydistributed%functionf=mynormpdfsum(x,num,y)%yy=1/sqrt(2*pi)/x(2)*exp(-(y-x(1)).^2/2/x(2)^2);%ifnum==1%(note:itmustbesetto1)%f=log(yy);%elsef=-sum(log(yy));end%%%%%%%%%%y=2+3*randn(5000,1);%[para,standard_deviation]=my_mle('mynormpdfsum',[0;2],y)%%%%%%%%%%example2:estimatecoefficientsinalinearregression%clear%x=randn(500,1);%y=2+3*x+randn(500,1);%[para,standard_deviation,fv]=my_mle('mynormpdfsum001',[1;2;3],y,x)%%%%%%%%%%%%%functionf=mynormpdfsum001(para,num,y,x)%yy=1/sqrt(2*pi)/para(3)*exp(-(y-para(1)-para(2)*x).^2/2/para(3)^2);%ifnum==1%(note:itmustbesetto1)%f=log(yy);%elsef=-sum(log(yy));endpara0=para0(:);[para,fv]=fminsearch(fun,para0,[],2,varargin{:});fv=-fv;d=numericalfirstderivative(fun,para,1,varargin{:});standard_deviation=sqrt(diag(pinv(d'*d)));%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%functionf=numericalfirstderivative(fun,parameter,varargin)%input:%fun:thenameofafunction%parameter:givenparameterwithrespecttowhichfirst-orderderivativeiscalculated%varargin:otherneededparametersrequiredbyfun%output:%f:numericalfirstorderderivativeoffunatparametern=length(parameter);fori=1:na=zeros(n,1);a(i)=min(parameter(i)*1e-6,1e-5);y1(:,i)=feval_r(fun,parameter+a,varargin{:});y2(:,i)=feval_r(fun,parameter-a,varargin{:});f(:,i)=(y1(:,i)-y2(:,i))/2/a(i);end
/
本文档为【Matlab函数:极大似然估计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索