Re: Fit[]: how to obtain the parameter values?
- To: mathgroup at smc.vnet.net
- Subject: [mg31849] Re: Fit[]: how to obtain the parameter values?
- From: "Robert Nowak" <robert.nowak at ims.co.at>
- Date: Fri, 7 Dec 2001 05:56:41 -0500 (EST)
- References: <9ul2bt$6lu$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hope one the following helps you
Robert
In[59]:=
f1[x]=2;
f2[x]=3 x;
In[61]:=
data = {{1, 2}, {2, 2.5}, {3, 3}};
In[62]:=
Fit[data, {f1[x], f2[x]}, x]//CoefficientList[#,x]&
Out[62]=
{1.5,0.5}
(* ?????????? wondering if the above result is correct or is it a
mathemeatica bug ??????????? *)
In[63]:=
Fit[data, {1,x}, x]//CoefficientList[#,x]&
Out[63]=
{1.5,0.5}
(* correct linear fit calulation but perhaps not what you want *)
In[64]:=
<<Statistics`LinearRegression`
In[65]:=
BestFitParameters/.Regress[data, {1,x},
x,RegressionReport->BestFitParameters]
Out[65]=
{1.5,0.5}
(* correct linear fit calulation but perhaps not what you want *)
In[66]:=
BestFitParameters/.Regress[data, {f1[x],f2[x]}, x,
RegressionReport->BestFitParameters]
Out[66]=
{0.75,0.166667}
(* !!!! this should your correct solution !!!!! *)
--
---
Robert Nowak (robert.nowak at ims.co.at)
IMS Nanofabrication GmbH
A-1020 Wien, Schreygasse 3, Austria
Phone: (+43 1)2144894-32, Fax: (+43 1)2144894-99
"Peter Marzlin" <peter.marzlin at uni-konstanz.de> wrote in message
news:9ul2bt$6lu$1 at smc.vnet.net...
> Hi all,
>
> I am trying to use Fit to get a linear least square fit with some
> complicated functions. In principle this works fine, but I cannot
> get the parameter values.
>
> For instance, using the two functions
>
> f1[x] = 2 and f2[x] = 3x
>
> I would like to get the parameters a1 and a2 in the fit function
>
> f[x] = a1 f1[x] + a2 f2[x]
>
> for the set of data data = {{1, 2}, {2, 2.5}, {3, 3}}
>
>
> Using the command
>
> Fit[data, {f1[x], f2[x]}, x]
>
> I get the answer 1.5 + 0.5 x
>
>
> This is correct but not what I want. I need a1 and a2, but
> they cannot easliy be obtained because Fit merges the prefactors
> in the definition of f1 and f2 with the value of the parameters
> a1 and a2.
>
> Of course, in this simple example I can get a1 and a2 by hand, but
> I am actually interested in a much more involved problem where
> extracting
> the parameter values from the Fit output is a rather tedious if not
> practically impossible task.
>
> Any help would be greatly appreciated.
>
> Peter
>