excel chart with trendline doesn't show the correct function

koltachin

New Member
Joined
Dec 22, 2016
Messages
4
I have a file with only four values for x & y when I make a chart and insert the trendline form +-x³ +- x²+- x +- cte the backsolving of the trendline for the values of x doesn't result in the expected value for y

any help is greatly appreciated
can give the file with the chart if needed

thanks in advance
Roger
 

Excel Facts

When did Power Query debut in Excel?
Although it was an add-in in Excel 2010 & Excel 2013, Power Query became a part of Excel in 2016, in Data, Get & Transform Data.
Post your data and the trendline equation you see.
 
Upvote 0
Post your data and the trendline equation you see.

[TABLE="width: 140"]
<colgroup><col span="2"></colgroup><tbody>[TR]
[TD]graph 1[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]x[/TD]
[TD]y[/TD]
[/TR]
[TR]
[TD]pace[/TD]
[TD]lactate[/TD]
[/TR]
[TR]
[TD="align: right"]24,00 [/TD]
[TD="align: right"]2,00[/TD]
[/TR]
[TR]
[TD="align: right"]23,00 [/TD]
[TD="align: right"]2,70[/TD]
[/TR]
[TR]
[TD="align: right"]22,00 [/TD]
[TD="align: right"]4,10[/TD]
[/TR]
[TR]
[TD="align: right"]16,70 [/TD]
[TD="align: right"]10,00[/TD]
[/TR]
</tbody>[/TABLE]

the trend function

y=0,0542 x³-3.3885x²+68,781x-445,98 r²=1

but when I replace the x by 24 the resulting y value is not 2,0 but 2,2488
but when I replace the x by 23 the resulting y value is not 2,70 but 2,9179
but when I replace the x by 22 the resulting y value is not 4,10 but 4,2896
but when I replace the x by 16,70 the resulting y value is not 10,0 but 10,0784

thanks in advance

Roger

<strike>
</strike>

 
Upvote 0
[Table="width:, class:grid"][tr][td="bgcolor:#C0C0C0"][/td][td="bgcolor:#C0C0C0"]
A​
[/td][td="bgcolor:#C0C0C0"]
B​
[/td][td="bgcolor:#C0C0C0"]
C​
[/td][td="bgcolor:#C0C0C0"]
D​
[/td][td="bgcolor:#C0C0C0"]
E​
[/td][/tr][tr][td="bgcolor:#C0C0C0"]
1​
[/td][td="bgcolor:#F3F3F3"]
x
[/td][td="bgcolor:#F3F3F3"]
y
[/td][td="bgcolor:#F3F3F3"]
fit
[/td][td="bgcolor:#F3F3F3"]
[/td][td="bgcolor:#F3F3F3"]
[/td][/tr]
[tr][td="bgcolor:#C0C0C0"]
2​
[/td][td]
24.00​
[/td][td]
2.00​
[/td][td="bgcolor:#E5E5E5"]
2.00​
[/td][td][/td][td]C2: =SERIESSUM(A2, 3, -1, $A$7:$C$7) + $D$7[/td][/tr]
[tr][td="bgcolor:#C0C0C0"]
3​
[/td][td]
23.00​
[/td][td]
2.70​
[/td][td="bgcolor:#E5E5E5"]
2.70​
[/td][td][/td][td][/td][/tr]
[tr][td="bgcolor:#C0C0C0"]
4​
[/td][td]
22.00​
[/td][td]
4.10​
[/td][td="bgcolor:#E5E5E5"]
4.10​
[/td][td][/td][td][/td][/tr]
[tr][td="bgcolor:#C0C0C0"]
5​
[/td][td]
16.70​
[/td][td]
10.00​
[/td][td="bgcolor:#E5E5E5"]
10.00​
[/td][td][/td][td][/td][/tr]
[tr][td="bgcolor:#C0C0C0"]
6​
[/td][td][/td][td][/td][td][/td][td][/td][td][/td][/tr]
[tr][td="bgcolor:#C0C0C0"]
7​
[/td][td="bgcolor:#E5E5E5"]
0.054181​
[/td][td="bgcolor:#E5E5E5"]
-3.3885​
[/td][td="bgcolor:#E5E5E5"]
68.7813509​
[/td][td="bgcolor:#E5E5E5"]
-445.976​
[/td][td]A7:D7: {=LINEST(B2:B5, A2:A5^{1,2,3})}[/td][/tr]
[/table]
 
Upvote 0
BTW, if you look at the trendline, which is a perfect fit as expected, you can see it would be useless for interpolation.
 
Upvote 0
The problem is twofold.

1. The trendline equation in the chart is truncated to only 4 or 5 sig figs. If you format it using a scientific notation with lots of digits, your calculation will be closer to what you expect. Alternatively you could use LINEST as shg did without much explanation, and use those calculated coefficients without having to type them in.

2. More importantly, what shg also meant to say, is that you are overfitting your data. The chart below has two trendlines, a first order linear fit in blue and a third order polynomial fit in orange. Yours is the orange curve, which loops all around the data, but you'd be hard-pressed to describe why it's any better than the blue straight line. The slope and intercept of the blue line give Y estimates of 1.82, 2.94, 4.06, and 9.98 for your X values.

FjG0wnT.png
 
Last edited:
Upvote 0
thanks you all for the info
last question:
because I have only four or max five samples I need a function to extrapolate for another value of x ( x can be hart rate, speed(pace) or lactate)
IS there a way to get the coefficients of a function of the form x²+x+cte rather then overtyping then each time
i know the slope and intercept but that is for a linear function these are not linear function

kind regards
Roger
 
Upvote 0
because I have only four or max five samples I need a function to extrapolate for another value of x ( x can be hart rate, speed(pace) or lactate)

It is generally a bad idea to extrapolate based on a polynomial trendline.

If we have "n" data points, we can always get a 100% fit (R^2=1) with a polynomial of n-1 degrees.

But the behavior of such a polynomial outside the data points (and sometimes even between the data points) can be radically different than what we might expect based on visual inspection.

The only time that extrapolation (and arguably interpolation) makes good sense is if the polynomial actually represents the natural behavior of the data model.


IS there a way to get the coefficients of a function of the form x²+x+cte rather then overtyping then each time

shg demonstrates how to use LINEST for that purpose in posting #4.

However, there are data sets for which LINEST does not behave as well as the chart trendline algorithm. I believe that happens because the input to LINEST is arrays of exponentially-scaled values, resulting in differences beyond the limits of 64-bit binary floating-point.

(Note: I am not talking about when LINEST and the chart trendline derive very different coefficients. That is possible and okay, as long as both predict about the same yhat.)

If the LINEST coefficients do not seem to work, it might be necessary and sufficient to copy the coefficients from the chart trendline label.

But if you do that, be sure to format the trendline label to display sufficient precision. I prefer to use the format Scientific with 14 decimal places. That's the maximum precision that Excel chooses to format; and it works equally well for all coefficients, regardless of magnitude.

-----

PS.... I see that both of those points were already covered by John Peltier. Klunk!
 
Last edited:
Upvote 0
As Joe says:

It is generally a bad idea to extrapolate based on a polynomial trendline.

So be careful what formula you will use for extrapolating. You say it's not linear, but what you showed before was best approximated by a linear fit.

I'm also not sure what you're asking for. If you don't want to enter the trendline coefficients inaccurately time after time, use LINEST.

Microsoft's documentation:
https://support.office.com/en-us/article/linest-function-84d7d0d9-6e50-4101-977a-fa7abf772b6d

Slightly enhanced documentation:
http://www.mit.edu/~mbarker/formula1/f1help/04-g-m60.htm

Examples:
https://av8rdas.wordpress.com/2012/...tion-little-things-can-make-a-big-difference/
https://newtonexcelbach.com/2011/01/19/using-linest-for-non-linear-curve-fitting/

If you're just finding it tedious to retype the formula =A+B*x+C*x^2+D*x^3 in each cell, well, you should be entering the coefficients into separate cells, and point the formulas at these cells. For example, put your coefficients into cells D1:D4, put your X values into A3:A6, enter this formula into B3

=$D$1+$D$2*A3+$D$3*A3^2+$D$4*A3^3

and fill this down to B6. This way you only change the coefficients, not the formulas based on them.
 
Last edited:
Upvote 0

Forum statistics

Threads
1,224,823
Messages
6,181,173
Members
453,021
Latest member
Justyna P

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top