MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: statistical comparison of parameters from two applications of NonlinearModelFit

  • To: mathgroup at smc.vnet.net
  • Subject: [mg116106] Re: statistical comparison of parameters from two applications of NonlinearModelFit
  • From: "Hobbs, Sylvia (DPH)" <Sylvia.Hobbs at state.ma.us>
  • Date: Wed, 2 Feb 2011 06:08:54 -0500 (EST)

The question isn't silly but pretending to be good at Mathematica is.
I'm just being silly.
:)
________________________________________
From: mathgroup-adm at smc.vnet.net [mathgroup-adm at smc.vnet.net] On Behalf Of dantimatter [google at dantimatter.com]
Sent: Tuesday, February 01, 2011 6:54 AM
To: mathgroup at smc.vnet.net
Subject: [mg116106] [mg116084] statistical comparison of parameters from two applications of NonlinearModelFit

Hello Everyone,

First, I must apologize if the following questions are silly;  I am
neither a statistician nor a particularly good Mathematica user
(although I do occasionally pretend to be one).   And now, on the
question:

I've got some data that I try to fit with NonlinearModelFit:

time1 == {0, 100, 200, 300, 400, 500, 600, 700, 800};
data1 == {1, 0.92, 0.79, 0.81, 0.81, 0.78, 0.72, 0.75, 0.68};

nlm1== NonlinearModelFit[Transpose[{time1, data1}],
  a1*Exp[-b1*x] + c1, {{a1, .5}, {b1, 0.001}, {c1, 0.5}}, x,
  ConfidenceLevel -> .95]

with results:

In[11] :== nlm1["BestFitParameters"]
             nlm1["ParameterConfidenceIntervals"]
             nlm1["ParameterErrors"]

Out[11] == {a1 -> 0.295575, b1 -> 0.00334141, c1 -> 0.696761}
Out[12] == {{0.179807, 0.411344}, {-0.000284765, 0.00696758},
{0.582507, 0.811014}}
Out[13] == {0.0473121, 0.00148194, 0.0466929}

I then do the same thing on a second data set:

time2 == {0, 100, 200, 300, 400, 500};
data2 == {0.8, 0.73, 0.65, 0.61, 0.58, 0.57};

nlm2== NonlinearModelFit[Transpose[{time2, data2}],
  a2*Exp[-b2*x] + c2, {{a2, .5}, {b2, 0.001}, {c2, 0.5}}, x,
  ConfidenceLevel -> .95]

In[15]:== nlm2["BestFitParameters"]
            nlm2["ParameterConfidenceIntervals"]
            nlm2["ParameterErrors"]

Out[15] == {a2 -> 0.287834, b2 -> 0.00362383, c2 -> 0.516796}
Out[16] == {{0.204254, 0.371413}, {0.00121124, 0.00603641}, {0.427572,
0.60602}}
Out[17] == {0.0262627, 0.000758091, 0.0280362}

Based on our understanding of the real system, we actually expect b2
<== b1, but this not what the fitting tells us (of course, there's a
bit of error in the extracted parameters).

So what I'd really like to know is:

(1) how can I make sense of these "ParameterConfidenceIntervals" and
"ParameterErrors" (how are they determined, and what is meant by them,
beyond their brief description in
http://reference.wolfram.com/mathematica/tutorial/StatisticalModelAnalysis.=
html)?

and

(2) is there a way to establish some kind of upper limit on the
detectability of the difference between b2 and b1?

Any thoughts you might have would be most appreciated.

Many thanks!


  • Prev by Date: Re: Read last expression in a file?
  • Next by Date: Re: MatrixPlot
  • Previous by thread: statistical comparison of parameters from two applications of NonlinearModelFit
  • Next by thread: Re: statistical comparison of parameters from two applications of NonlinearModelFit