l*******3 发帖数: 186 | 1 做maximum likelihood estimation,用optimization怎么都的不出正确的数值。现在
是做simulation阶段,总共10个parameters,如果固定其他parameters,只让一个
parameter变,那么likelihood function确实总在true parameter valuealuede地方是
最大的,但是所有parameters放在一起optiomize likelihood function,就怎么都的
不到真实parameter value。到底是怎么回事呢?大侠帮帮忙啊,谢谢! |
l******n 发帖数: 9344 | 2 很可能是初值设置不好,out of true value convergence domain
把初值设在很靠近true value的地方试一下
【在 l*******3 的大作中提到】 : 做maximum likelihood estimation,用optimization怎么都的不出正确的数值。现在 : 是做simulation阶段,总共10个parameters,如果固定其他parameters,只让一个 : parameter变,那么likelihood function确实总在true parameter valuealuede地方是 : 最大的,但是所有parameters放在一起optiomize likelihood function,就怎么都的 : 不到真实parameter value。到底是怎么回事呢?大侠帮帮忙啊,谢谢!
|
k*******a 发帖数: 772 | 3 也许是R的问题,试试MATLAB或者SAS的optimization function |
y***n 发帖数: 51 | 4 我遇到过这个情况,不过是三个参数。随机给定初始值给出的结果相差很大,某些参数
在10^5到10的范围变动。应该说在很大的一个区域里面,max likelihood function取
值相处不大,离最
大值很近,你可以把每个参数对应的function值求出来,他们相差不大。 后
来我用method of moment的结果做了初始值,结果会比较稳定一点。 |
l*******3 发帖数: 186 | 5 谢谢各位。就算我在simulation里用真事值(true parameter value),竟然也不行,
会converge到别的地方去,这是怎么回事啊???急人啊,谢谢再次指教!可能是哪里
出问题了呢? |
y***n 发帖数: 51 | 6 你用的什么软件啊,如果是R的话,换个命令? 我当时换了几个命令,还自己写了
Newton-raphson 算法算的都是一样的结果。 |
l*******3 发帖数: 186 | 7 我用的是R软件的constrOptim
如果我总也得不到真实parameter value,是不是表示我的likelihood function错了呢
?谢谢
【在 y***n 的大作中提到】 : 你用的什么软件啊,如果是R的话,换个命令? 我当时换了几个命令,还自己写了 : Newton-raphson 算法算的都是一样的结果。
|
l******n 发帖数: 9344 | 8 基本可以肯定你肯定什么地方错了,或者是限制条件有问题
【在 l*******3 的大作中提到】 : 我用的是R软件的constrOptim : 如果我总也得不到真实parameter value,是不是表示我的likelihood function错了呢 : ?谢谢
|
h**********1 发帖数: 155 | 9 what do you mean can't get true value? based on one simu? or 1000? usually
you run 1000 simu and check whether your estimators are unbiased. check
whether each run is converged. use function hist to see the distribution of
your estimators, they should approximately follow normal distribution if you
've large sample (n=1000).
also if you likelihood is very flat, it's hard to converge and sensitive to
the initial value.
try to supply a gradient function which could help a lot.
try different optimization functions, like optim, nlm, nlminb, and function
spg or dfsane in package BB. |
l*******3 发帖数: 186 | 10 ok. Thank you all very very much! I will try what you suggested above.
thanks! |
|
|
d******1 发帖数: 1389 | 11 维数太高了,很难converge到你的global maximum。如果你的目的只是求,mle,试一
试grid search。每个参数optimize的时候不要用gradient descent的方法,在一个范
围内取一个grid,取能maximize你的mle的grid上的值。
如果coding不是那么麻烦,你可以试一试。
【在 l*******3 的大作中提到】 : 做maximum likelihood estimation,用optimization怎么都的不出正确的数值。现在 : 是做simulation阶段,总共10个parameters,如果固定其他parameters,只让一个 : parameter变,那么likelihood function确实总在true parameter valuealuede地方是 : 最大的,但是所有parameters放在一起optiomize likelihood function,就怎么都的 : 不到真实parameter value。到底是怎么回事呢?大侠帮帮忙啊,谢谢!
|
h**********1 发帖数: 155 | 12 how to define dimension is too high? more than 5, 7 or 10 variables?
【在 d******1 的大作中提到】 : 维数太高了,很难converge到你的global maximum。如果你的目的只是求,mle,试一 : 试grid search。每个参数optimize的时候不要用gradient descent的方法,在一个范 : 围内取一个grid,取能maximize你的mle的grid上的值。 : 如果coding不是那么麻烦,你可以试一试。
|
N******n 发帖数: 3003 | 13
如果是多个参数未知,他的MLE不是convex的,肯定有好几个local maximum. just
like EM.
【在 l*******3 的大作中提到】 : 做maximum likelihood estimation,用optimization怎么都的不出正确的数值。现在 : 是做simulation阶段,总共10个parameters,如果固定其他parameters,只让一个 : parameter变,那么likelihood function确实总在true parameter valuealuede地方是 : 最大的,但是所有parameters放在一起optiomize likelihood function,就怎么都的 : 不到真实parameter value。到底是怎么回事呢?大侠帮帮忙啊,谢谢!
|
p******m 发帖数: 353 | 14 可以试试新的maxLik package, 我用过觉得还行。 就是t-test不准确。 |
l*******s 发帖数: 1258 | 15 能否确定这个一定有global optimization,而不是只有local的
另外,iteration次数够不够大? |
j*******r 发帖数: 32 | 16 首先,MLE也不一定是相合估计,如果正则性条件不满足,MLE本来就可能和真值差别很
大,这是最郁闷的结果。
第二,有可能是样本容量不够大导致估计值偏离真实值。在计算量允许的情况下,增加
你的样本量。
第三,最有可能的是你likelihood写错了。
很简单的一个判断方法是算出最终的likelihood function的值。假设L是likelihood,
你的解是a,真实值是b,代入看L(a)是不是比L(b)大。
如果L(a)
个比a更大的极值点,你可以用grid或者是其他方法找到它。
如果L(a)>L(b),特别是差得很多的话,说明a很有可能是全局最优点。要吗就是正则条
件不满足,要吗就是你的likelihood有问题。
【在 l*******3 的大作中提到】 : 做maximum likelihood estimation,用optimization怎么都的不出正确的数值。现在 : 是做simulation阶段,总共10个parameters,如果固定其他parameters,只让一个 : parameter变,那么likelihood function确实总在true parameter valuealuede地方是 : 最大的,但是所有parameters放在一起optiomize likelihood function,就怎么都的 : 不到真实parameter value。到底是怎么回事呢?大侠帮帮忙啊,谢谢!
|
P****D 发帖数: 11146 | 17 这样会不会运算到死?
我看八成是他把likelihood function写错了。
【在 d******1 的大作中提到】 : 维数太高了,很难converge到你的global maximum。如果你的目的只是求,mle,试一 : 试grid search。每个参数optimize的时候不要用gradient descent的方法,在一个范 : 围内取一个grid,取能maximize你的mle的grid上的值。 : 如果coding不是那么麻烦,你可以试一试。
|