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!