请高手看看,matlab 极大似然估计程序哪出错了
发布:tiaotiaotang | 分类:Matlab软件培训
关于本站
人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!
获取电子版《CDA一级教材》
完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。
TOP热门关键词
我做的过程是:将y.xls导入matlab将skewtdis_LL.m,my_mle.m加入MATLAB.然后在命令窗口输入[para,standard_deviation]=my_mle('skewtdis_LL',[5;0.02],y)结果显示:???Errorusing==>skewtdis_LLToomanyinputargumen ...
免费学术公开课,扫码加入![]() |
将y.xls导入matlab
将skewtdis_LL.m, my_mle.m加入MATLAB.然后在命令窗口输入
[para,standard_deviation]=my_mle('skewtdis_LL',[5;0.02],y)
结果显示:
??? Error using ==> skewtdis_LL
Too many input arguments.
Error in ==> fminsearch at 195
fv(:,1) = funfcn(x,varargin{:});
Error in ==> my_mle at 3
[para,fv]=fminsearch(fun,para0,[],2,varargin{:});
程序如下:
function LL = skewtdis_LL(theta,x)
% PURPOSE: returns the log-likelihood at x of Hansen's (1994) 'skewed t' distribution
%---------------------------------------------------
% USAGE: LL = skewtdis_LL(x,nu,lambda)
% where: x= a vector of data
% theta = [nu;lambda]
% nu = degrees of freedom parameter
% lambda = skewness parameter
%---------------------------------------------------
% RETURNS:
% a matrix of log-likelihood at each element of x
% --------------------------------------------------
% SEE ALSO: tdis_cdf, tdis_rnd, tdis_inv, tdis_prb, skewtdis_pdf
%---------------------------------------------------
%
%Andrew Patton
%
%25 June, 2001
% This code was used in:
%
% Patton, Andrew J., 2002, "On the Out-of-Sample
% Importance of Skewness and Asymmetric Dependence for
% Asset Allocation", working paper, Department of Economics,
% University of California, San Diego.
nu = theta(1);
lambda = theta(2);
[T,k] = size(x);
nu = nu(1)*ones(T,1); % can make this time-varying, but needs to be >2
lambda = lambda(1)*ones(T,1); % can make this time-varying, but needs to be in (-1,1)
c = gamma((nu+1)/2)./(sqrt(pi*(nu-2)).*gamma(nu/2));
a = 4*lambda.*c.*((nu-2)./(nu-1));
b = sqrt(1 + 3*lambda.^2 - a.^2);
logc = gammaln((nu+1)/2) - gammaln(nu/2) - 0.5*log(pi*(nu-2));
logb = 0.5*log(1 + 3*lambda.^2 - a.^2);
find1 = (x<(-a./b));
find2 = (x>=(-a./b));
LL1 = logb + logc - (nu+1)/2.*log(1+1./(nu-2).*((b.*x+a)./(1-lambda)).^2);
LL2 = logb + logc - (nu+1)/2.*log(1+1./(nu-2).*((b.*x+a)./(1+lambda)).^2);
LL = sum(LL1(find1)) + sum(LL2(find2));
LL = -LL;
function [para,standard_deviation,fv]=my_mle(fun,para0,varargin)
para0=para0(:);
[para,fv]=fminsearch(fun,para0,[],2,varargin{:});
fv=-fv;
d=numericalfirstderivative(fun,para,1,varargin{:});
standard_deviation=sqrt(diag(pinv(d'*d)));
function f=numericalfirstderivative(fun,parameter,varargin)
n=length(parameter);
for i=1:n
a=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
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
您可能感兴趣的文章
- Matlab软件 ... | 在matlab中如何用MLE估计混合正态 ...
- Matlab软件 ... | MATLAB图书合集×110本免费奉送( ...
- Matlab软件 ... | matlab如何给Excel单元格中某些文 ...
- Matlab软件 ... | MATLAB中,在得到神经网络函数后 ...
- Matlab软件 ... | Matlab 2013a 带破解教程的~wind ...
- Matlab软件 ... | Matlab polyfit 曲线拟合
- Matlab软件 ... | 求教matlab极大似然估计(估计知 ...
- Matlab软件 ... | 关于采用matlab进行指定非线性方 ...
人气文章
本文标题:请高手看看,matlab 极大似然估计程序哪出错了
本文链接网址:https://bbs.pinggu.org/jg/ruanjianpeixun_matlabruanjianpeixun_1280413_1.html
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。



