楼主: 雨後彩虹
20287 100

[问答] 极大似然估计的MATLAB程序,哪位大神帮忙看看,多谢了 [推广有奖]

  • 0关注
  • 0粉丝

大专生

25%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
247 点
帖子
51
精华
0
在线时间
43 小时
注册时间
2015-6-20
最后登录
2015-7-17

楼主
雨後彩虹 发表于 2015-6-20 16:37:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
function [para,standard_deviation,fv]=my_mle(fun,para0,y)
[para,fv]=fminsearch(fun,para0,[],2,y);
n=length(para);
d=numericalfirstderivative(fun,para,1,y);
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-4);
y1(:,i)=feval(fun,parameter+a,varargin{:});
y2(:,i)=feval(fun,parameter-a,varargin{:});
f(:,i)=(y1(:,i)-y2(:,i))/2/a(i);
end


function f=mle(parameter,num,observations)
alpha=parameter(1);
beta=parameter(2);
lambda=parameter(3);
y=beta/alpha*((observations-lambda)/alpha).^(beta-1)*exp((-(observations-lambda)/alpha).^beta)
if num==1
    f=log(y);
else
    f=-sum(log(y));
end



然后在主窗口下输入:
>> clear
>> observations=[1.1101e+03,1.0035e+03,941.2414,971.2918,1.1419e+03];
>> [para,standard_deviation]=my_mle('mle',[6;280;1100],observations)

出现错误:
Error using  *
Inner matrix dimensions must agree.

Error in mle (line 5)
y=beta/alpha*((observations-lambda)/alpha).^(beta-1)*exp((-(observations-lambda)/alpha).^beta)

Error in fminsearch (line 191)
fv(:,1) = funfcn(x,varargin{:});

Error in my_mle (line 2)
[para,fv]=fminsearch(fun,para0,[],2,y);



拜托了,谢谢!





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB程序 MATLAB 极大似然估计 matla atlab 硕士学位 求助

沙发
magicsun 发表于 2015-6-20 21:18:21 来自手机
beta-1)后面是.* 数据是不是用列向量

藤椅
雨後彩虹 发表于 2015-6-22 09:52:58
magicsun 发表于 2015-6-20 21:18
beta-1)后面是.* 数据是不是用列向量
我那样试过了,还是错误

板凳
雨後彩虹 发表于 2015-6-22 10:06:26
magicsun 发表于 2015-6-20 21:18
beta-1)后面是.* 数据是不是用列向量
运行之后出现了复数

报纸
雨後彩虹 发表于 2015-6-24 11:13:08
magicsun 发表于 2015-6-20 21:18
beta-1)后面是.* 数据是不是用列向量
大神,帮小弟看看程序,非常感谢~~

地板
magicsun 发表于 2015-6-24 13:55:18
不太清楚你要估计什么函数,你只给出个程序,实际上很难判断你的对错,只能发现语法错误。至少我觉得点乘就是错误的。但别的是在看不出来。而且你还用feval,这是求导数?没必要吧?一般用不到吧?看上去太简单的极大似然估计。

7
雨後彩虹 发表于 2015-6-24 15:37:50
magicsun 发表于 2015-6-24 13:55
不太清楚你要估计什么函数,你只给出个程序,实际上很难判断你的对错,只能发现语法错误。至少我觉得点乘就 ...
你好,我要求的是三参数威布尔分布的参数估计,我是初学者,因为论文要用到,这个程序是我在网上找到的,但是不知道为什么会有错误~~~

8
magicsun 发表于 2015-6-24 15:59:53
发个公式,word版本的。

9
雨後彩虹 发表于 2015-6-24 16:09:10
magicsun 发表于 2015-6-24 15:59
发个公式,word版本的。
                              

10
雨後彩虹 发表于 2015-6-24 16:10:56
magicsun 发表于 2015-6-24 15:59
发个公式,word版本的。
observations=[1.1101e+03,1.0035e+03,941.2414,971.2918,1.1419e+03];
这是通过试验得到的t的数据
谢谢大神~~~

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 15:08