Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: Problem with NMaximize
Replies: 11   Last Post: Jun 28, 2008 5:58 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
DrMajorBob

Posts: 102
Registered: 4/2/08
Re: Problem with NMaximize
Posted: Jun 27, 2008 6:20 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

NSolve and NMaximize generally use a kind of secant search, using previous
attempts to extrapolate to a new and (hopefully) better one.
Unfortunately, extrapolation can easily carry us from feasible points to
infeasible ones. If you can formulate the problem so that infeasaible
points can't exist (or can't be reached by extrapolation), you avoid a lot
of trouble.

Anyway, why maximize log-likelihood, when you could maximize the
likelihood itself? If THAT turns out to be negative at an intermediate
step, it's not a problem, since you're not taking a logarithm of it.

We generally speak of log-likelihood because of its use in an asymptotic
chi-square test, but that's not always relevant when choosing optimum
parameters.

Bobby

On Thu, 26 Jun 2008 13:45:57 -0500, ramiro <ramiro.barrantes@uvm.edu>
wrote:

> Thank you very much for your responses, Bobby and Jean-Marc. I did try
> changing the parametrization (thanks Bobby!) and I got an answer.
> However, let me try again with a hopefully more clear example, as I
> don't understand why this doesn't work, in particular, I don't
> understand why is it evaluating negative numbers if I am putting as a
> constraint that it shouldn't?
>
>
> Sample likelihood,
>
> In[196]:=
> logLikelihood1[t1_?NumberQ, t2_?NumberQ, t3_?NumberQ, t4_?NumberQ,
> t5_?NumberQ, t6_?NumberQ, t7_?NumberQ, t8_?NumberQ, t9_?NumberQ,
> t10_?NumberQ, t11_?NumberQ, t12_?NumberQ] :=
> Log[0.00001712341312000713` t1 + 5.648647024829866`*^-6 t10 +
> 8.90597537441381`*^-6 t11 + 1.9727284288726167`*^-6 t12 +
> 4.102725237468317`*^-6 t2 + 3.7864902508468615`*^-6 t3 +
> 9.215772325326653`*^-7 t4 + 0.000057161484895917856` t5 +
> 0.000012892953334779516` t6 + 8.646320198720343`*^-6 t7 +
> 5.877910295858781`*^-6 t8 + 1.6837835562631724`*^-6 t9];
>
> Another version (without the NumberQ)...
>
> In[197]:=
> logLikelihood2[t1_, t2_, t3_, t4_, t5_, t6_, t7_, t8_, t9_, t10_,
> t11_, t12_] :=
> Log[0.00001712341312000713` t1 + 5.648647024829866`*^-6 t10 +
> 8.90597537441381`*^-6 t11 + 1.9727284288726167`*^-6 t12 +
> 4.102725237468317`*^-6 t2 + 3.7864902508468615`*^-6 t3 +
> 9.215772325326653`*^-7 t4 + 0.000057161484895917856` t5 +
> 0.000012892953334779516` t6 + 8.646320198720343`*^-6 t7 +
> 5.877910295858781`*^-6 t8 + 1.6837835562631724`*^-6 t9];
>
> In[198]:= NMaximize[{logLikelihood1[t1, t2, t3, t4, t5, t6, t7, t8,
> t9, t10, t11, t12], t1 > 0, t2 > 0, t3 > 0, t4 > 0, t5 > 0, t6 > 0,
> t7 > 0, t8 > 0, t9 > 0, t10 > 0, t11 > 0, t12 > 0,
> t1 + t10 + t11 + t12 + t2 + t3 + t4 + t5 + t6 + t7 + t8 + t9 ==
> 1}, {t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12}]
>
> During evaluation of In[198]:= NMaximize::nrnum: The function value \
> 15.7729-3.14159 I is not a real number at \
> {t1,t10,t11,t12,t2,t3,t4,t5,t6,t7,<<2>>} = {-0.490249,<<9>>,<<2>>}. \

> >>
>
> Out[198]= {-13.2945, {t1 -> 2.10942*10^-15, t10 -> -2.22045*10^-16,
> t11 -> -2.22045*10^-16, t12 -> -2.22045*10^-16,
> t2 -> -1.11022*10^-16, t3 -> -2.22045*10^-16, t4 -> -2.22045*10^-16,
> t5 -> -6.93889*10^-18, t6 -> -2.22045*10^-16,
> t7 -> -1.11022*10^-16, t8 -> -4.44089*10^-16, t9 -> 1.}}
>
> In[199]:= NMaximize[{logLikelihood2[t1, t2, t3, t4, t5, t6, t7, t8,
> t9, t10, t11, t12], t1 > 0, t2 > 0, t3 > 0, t4 > 0, t5 > 0, t6 > 0,
> t7 > 0, t8 > 0, t9 > 0, t10 > 0, t11 > 0, t12 > 0,
> t1 + t2 + t3 + t4 + t5 + t6 + t7 + t8 + t9 + t10 + t11 + t12 ==
> 1}, {t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12}]
>
> During evaluation of In[199]:= NMaximize::nrnum: The function value \
> 15.7729-3.14159 I is not a real number at \
> {t1,t10,t11,t12,t2,t3,t4,t5,t6,t7,<<2>>} = {-0.490249,<<9>>,<<2>>}. \

> >>
>
> Out[199]= {-13.2945, {t1 -> 2.10942*10^-15, t10 -> -2.22045*10^-16,
> t11 -> -2.22045*10^-16, t12 -> -2.22045*10^-16,
> t2 -> -1.11022*10^-16, t3 -> -2.22045*10^-16, t4 -> -2.22045*10^-16,
> t5 -> -6.93889*10^-18, t6 -> -2.22045*10^-16,
> t7 -> -1.11022*10^-16, t8 -> -4.44089*10^-16, t9 -> 1.}}
>




--
DrMajorBob@longhorns.com




Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.