楼主: 雨後彩虹
20295 100

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

61
magicsun 发表于 2015-6-28 08:29:33
function y=myhs(x)
y=0;
x=x(1);
y=x(2);
z=x(3);
d=[1.1101e+03;1.0035e+03;941.2414;971.2918;1.1419e+03]
for i=1:5
    y=y-log(x(1)/x(2)*((d(i)-x(3))/x(2))^(x(1)-1)*exp(-(d(i)-x(3))/x(2))^(x(1)))
end
错了:
d不需要在函数里面:
function Y=myhs(b,XX)
y=0;
alpha=b(1);
beta=b(2);
lambda=b(3);
d=XX;%下面的函数形式也错了,自己把原公式求对数,化成简单形式,然后再求和。(我没改)。
for i=1:5
    y=y-log(x(1)/x(2)*((d(i)-x(3))/x(2))^(x(1)-1)*exp(-(d(i)-x(3))/x(2))^(x(1)))
end
Y=-y;%看你用的那个minPowell(?)函数,如果是最小化,就不要了;如果是最大化就留着。(这一句或者错了)

62
magicsun 发表于 2015-6-28 08:36:55
应该设定h=0.0000001
alpha=max([b(1) h])
beta=max([b(2) h])
这是保证两个大于0.
然后使用fminunc应该就可以了。

63
雨後彩虹 发表于 2015-6-28 10:45:13
magicsun 发表于 2015-6-28 08:29
function y=myhs(x)
y=0;
x=x(1);
d=XX;你好,请问这句是什么意思?

64
magicsun 发表于 2015-6-28 11:33:48
XX就是你的观测值。function Y=myhs(b,XX),b是参数,b相当于一般最优化书中的x。

65
雨後彩虹 发表于 2015-6-29 09:36:02
magicsun 发表于 2015-6-28 11:33
XX就是你的观测值。function Y=myhs(b,XX),b是参数,b相当于一般最优化书中的x。
非常感谢~~~

66
雨後彩虹 发表于 2015-7-1 17:10:58
magicsun 发表于 2015-6-28 11:33
XX就是你的观测值。function Y=myhs(b,XX),b是参数,b相当于一般最优化书中的x。
新建 Microsoft Word 文档.docx (18.14 KB) 大神,麻烦问一下这个方程用MATLAB怎么编写程序。
这是我自己编的,不过好像这样的方式是对实数应用的,望大神指点~~~
function y=myfc(b)
syms r
t(1)=1.1101e+03;
t(2)=1.0035e+03;
t(3)=941.2414;
t(4)=971.2918;
t(5)=1.1419e+03;
s1=0;s2=0;s3=0;s4=0;s5=0;
for i=1:5
    s1=s1+log(t(i)-r);
    s2=s2+(t(i)-r)^b*log(t(i)-r);
    s3=s3+(t(i)-r)^b;
end
y=1/b+1/5*s1-s2/s3;

67
magicsun 发表于 2015-7-1 17:51:32
r是已知的,不需要syms。这个是解方程。

68
雨後彩虹 发表于 2015-7-1 18:09:49
magicsun 发表于 2015-7-1 17:51
r是已知的,不需要syms。这个是解方程。
恩,是应用到解方程里的,但是如果不用syms,运行时会提示r未定义~~

69
雨後彩虹 发表于 2015-7-1 18:10:35
magicsun 发表于 2015-7-1 17:51
r是已知的,不需要syms。这个是解方程。
我上传了一个word文档,是关于公式的,您看看~~~

70
magicsun 发表于 2015-7-1 18:18:11
r既然已知,就直接写上数。

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

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