calab
asked on
Fitting a Model to a set of data
Hi.
I have a set of data that needs to fit this regression model below:
y(x)=a*[cosh(b*(c-x))/cosh (d)]
in order to find a, b, c, d and correlation coefficient for the regression
Can I do this using excel? How?
ps.
for those who don't know:
cosh = Hyperbolic cosine = (e^x+e^-x)/2
I have a set of data that needs to fit this regression model below:
y(x)=a*[cosh(b*(c-x))/cosh
in order to find a, b, c, d and correlation coefficient for the regression
Can I do this using excel? How?
ps.
for those who don't know:
cosh = Hyperbolic cosine = (e^x+e^-x)/2
Does it have to be Excel ? MathCAD or similar programs are better suited for this. If yes: How many points do you have ?
ASKER
I doesn't have to be Excel. I'm not familiar with MathCad, though. What about Matlab?
About my points:
I've just signed in. So, I still got 25 points left.
About my points:
I've just signed in. So, I still got 25 points left.
calab, I am not _that_ point horny... I was refering to the number of data points x,y pairs. Can you paste them here ?
I never worked with Matlab.
I never worked with Matlab.
ASKER
Sorry if I misunderstood you.
The problem is that I have several set of data with different size to be collected still.
What about "Maple"? Do you work with it?
The problem is that I have several set of data with different size to be collected still.
What about "Maple"? Do you work with it?
calab: First time I hear about http://www.maplesoft.com/
As for the datapoints: A sample is good enough. Want to see whether I can put something together in Excel, eventually MathCAD. Does it have to be the a.m. model ?
As for the datapoints: A sample is good enough. Want to see whether I can put something together in Excel, eventually MathCAD. Does it have to be the a.m. model ?
ASKER
Here goes the data:
x =[ 2 4 5.5 7.5 9.5 11.5 14.5 17.5 21.5 25.5 30.5 36 46 56 71 86 94 ]
y(x) =[3.8 3.5 3.2 2.8 2.6 2.4 2.2 1.9 1.6 1.3 1.1 .9 .6 .4 .2 .1 .1 ]
a.m. model ????
x =[ 2 4 5.5 7.5 9.5 11.5 14.5 17.5 21.5 25.5 30.5 36 46 56 71 86 94 ]
y(x) =[3.8 3.5 3.2 2.8 2.6 2.4 2.2 1.9 1.6 1.3 1.1 .9 .6 .4 .2 .1 .1 ]
a.m. model ????
I've tried to find a good solution with the Excel solver.
After many fails, found one, but the solver works very erratic, that means will not come up with a good solution every time. I doubt if it would fit your needs as too difficult to set. In fact, I'm not able at the moment to reproduce the best solution I had up to now. The initial values of the four variables a, b, c and d are very important for the solver.
Just one tip, simplify the equation by only using three variables:
y(x)=e*(cosh(b*(c-x)))
with e = a * cosh(d)
a and cosh(d) are both constants, and will not change with x changing, so they should be excluded from your approach. You can always fill them in afterwards, in fact the couple will offer a infinite number of possibiliities.
I'll report back if I find any better.
Calacuccia
After many fails, found one, but the solver works very erratic, that means will not come up with a good solution every time. I doubt if it would fit your needs as too difficult to set. In fact, I'm not able at the moment to reproduce the best solution I had up to now. The initial values of the four variables a, b, c and d are very important for the solver.
Just one tip, simplify the equation by only using three variables:
y(x)=e*(cosh(b*(c-x)))
with e = a * cosh(d)
a and cosh(d) are both constants, and will not change with x changing, so they should be excluded from your approach. You can always fill them in afterwards, in fact the couple will offer a infinite number of possibiliities.
I'll report back if I find any better.
Calacuccia
Did not forget your question.
a) I can approximate _this_ data "fairly" well using a power function trendline (y=a*x^b) in Excel or a polynom of the 3th order. Could you paste the values again, this time with 2-3 decimal digits ? I want to see what is rounding and what is approximation error.
Did not see your question regarding the model. I mean does it have to be this correlation form ? If yes: Can you explain why ? Perhaps a better work-around can be found.
a) I can approximate _this_ data "fairly" well using a power function trendline (y=a*x^b) in Excel or a polynom of the 3th order. Could you paste the values again, this time with 2-3 decimal digits ? I want to see what is rounding and what is approximation error.
Did not see your question regarding the model. I mean does it have to be this correlation form ? If yes: Can you explain why ? Perhaps a better work-around can be found.
ASKER
A lot of things have happened since the last time I posted a note here.
First of all: I found out the that Maple is capable of fitting a data to a hyperbolic function as simple as y(x)=a*cosh(x)+b.
Also, I found out that the sample I posted is completely wrong.(sorry about that).
And, you're right. You can approximate the data to y=a*x^b but what I need ( and still need )are the constants.
They would be different.
What I need now is way of simplifying the function y(x)=a*[cosh(b*(c-x))/cosh (d)] to y(x)=a*cosh(x)+b.
by the way, if you still need the sample. Here it go the right one:
x = [.02,.04,.055,.075,.095,.1 15,.145,.1 75, .215,.255,.305,.36,.46,.56 ,.71,.86,. 94]
y =
[89.62, 83.03, 76.37, 67.38, 62.83, 58.25, 53.64, 46.64, 39.57, 32.40, 27.56, 22.69, 15.28, 10.27, 5.22, 2.67, 2.67]
First of all: I found out the that Maple is capable of fitting a data to a hyperbolic function as simple as y(x)=a*cosh(x)+b.
Also, I found out that the sample I posted is completely wrong.(sorry about that).
And, you're right. You can approximate the data to y=a*x^b but what I need ( and still need )are the constants.
They would be different.
What I need now is way of simplifying the function y(x)=a*[cosh(b*(c-x))/cosh
by the way, if you still need the sample. Here it go the right one:
x = [.02,.04,.055,.075,.095,.1
y =
[89.62, 83.03, 76.37, 67.38, 62.83, 58.25, 53.64, 46.64, 39.57, 32.40, 27.56, 22.69, 15.28, 10.27, 5.22, 2.67, 2.67]
Sorry, do not understand "...What I need now is way of simplifying the function y(x)=a*[cosh(b*(c-x))/cosh (d)] to y(x)=a*cosh(x)+b. ..."
I take it that you are looking for a regression of a given type and all you want is a way how to determine the coefficients for any given dataset.
I take it that you are looking for a regression of a given type and all you want is a way how to determine the coefficients for any given dataset.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I got it
Thank you for helping me out.
Thank you for helping me out.
ASKER
thanks
You are welcome.