34093
2004-09-12 20:22:00 +0000
Force linear regression curve to go through zero point (origin) or other Y-value defined
2014-01-14 13:10:14 +0000
1
1
3
Code
General
chart
3.3.0 or older (OOo)
All
All
CONFIRMED
ms_interoperability, oooqa, rfe_eval_ok
P3
Trivial
---
15522
1
dlebeuf
issues
alek.email
belegdol
issues
jbf.faure
jumbo4444
kamataki
robert.pollak
stefan.weigel
tony.galmiche.ooo
FEATURE
---
---
21
oldest_to_newest
1523390
0
dlebeuf
2004-09-12 20:22:00 +0000
Whith 2 columns data such as
X Y
0 0
1 1
2 2
3 3
Select XY Chart as plot type, then Insert -> Statistics -> Linear Regression
There is no option as in the LINEST function to force a regression through the
zero point and graph the corresponding line.
Issue 33883 is somewhat related.
1523391
1
dlebeuf
2004-09-12 20:24:52 +0000
Oups, The numerical example is not very good,
X Y
0 0
1 1
2 2.5
3 3
Would be better
1523406
2
thomas.klarhoefer
2004-09-17 13:48:54 +0000
HI Bettina,
one for you.
tk
1523389
3
thomas.klarhoefer
2004-09-17 13:50:21 +0000
reset Target
1523514
4
bettina.haberer
2004-11-29 18:23:29 +0000
Reassigned to Ingrid.
1523398
5
openoffice
2005-03-29 12:59:28 +0000
I support this request. As scientifically working student I know that some
(linear!) regressions need to go through the origin, by definition. Currently it
is not possible to visualize these in charts.
Is this already incorporated into the proposal for the new chart engine?
One very simple solution is to just add an additional regression type
"Linear regression through origin" to the list of available regressions in the
data series dialog.
1523401
6
IngridvdM
2005-04-14 15:34:08 +0000
We should introduce this missing feature. Even more it should be possible to
force the regression line to go through a customizable value - not limitting us
to 0.
->bm: Please take care of this issue.
1523405
7
ooo-err
2006-07-11 21:00:39 +0000
"As scientifically working student" you should question if this a valid thing
to do.
If a physical relationship is known to go through zero and your data does not,
you should analyse why that is and write an appropriate conclusion not falsify
your results by arbitarily forcing a false fit.
One common reason for this effect (apart from experimental error) is that least
squares fit assumes that the y residuals are far greater than the x residuals.
ie. x is a controlled variable with negligable error s.t. rx/ry -> 0
If this is not the case, the derivation of the least squares line fit is NOT
mathematically valid.
I have seen examples if dispersed data where the least squares fit was
"visibly" wrong by a significant degree. The data did not fit the above
requirement and the fit was garbage.
Most people are quite ignorant of this important limitation in using linear
regression.
Least squares can also be strongly influenced by an erroneous data point (a
flyer).
One further cause is that most implementations of least squares minimise the
squares of the y residuals not the perpendiculars to the fitted line.
I see little use of this "feature" as suggested. If a user wants to add a
fictive slope to his data he can simply add a line close to the lin. regression
fit then remove the true line.
Adding this as a function will simply mislead non-technical users into thinking
that this is an alternative VALID regression fit. It is not.
That would seem undersirable.
1523513
8
bjoern.milcke
2006-07-12 09:29:13 +0000
->oooer: Thanks for you comments. You are probably right, that forcing a
regression curve to go through a certain point might lead to wrong results
without the user noticing this.
Well, we have one vote, one comment here FOR having the feature and one AGAINST.
I must admit I do not have too much practical experience with regression, so I
cannot really vote for or against this feature. The only point that is a FOR is,
that MS has this feature in Excel (that's why this issue has the
interoperability keyword), thus we will need this feature for improving our
import filters.
Of course, we still have to decide about a UI for it. And maybe we can show a
warning dialog that tells a user that what he does might not be what he wants.
->oooer: Is there a way to analyze the data and find out if limiting the curve
to a certain point makes sense or not? I mean, I could imagine that if your
curve passes the point only by a very small amount (relative error), it might
not completely fake the result. Of course, the question still remains, why you
would want to adjust the curve to pass a certain point. It is only a regression
or trend curve, not something where you can read data of.
1523399
9
openoffice
2006-07-12 18:01:53 +0000
Thanks for your thoughtful comment, oooer.
May I suggest following compromise: There SHOULD be a feature to have a graph
going through the point of origin, but it should NOT be termed "linear
regression", since it is none, as you pointed out. Maybe it could be termed
"Best linear fit though point of origin" or anything similar that makes a quick
point without being confused with linear regression or other inappropriate
statistical terms. (Suggestions welcome.)
Adding a line by hand is not a solution at all, since the whole "idea" of the
feature is, that the slope is calculated from the data. When drawing the line by
hand one would have to calculate the line's angle manually beforehand.
Beside that, "drawing" on diagrams is imho never a good idea, since the diagram
may change in size and content, so the drawn line wouldn't fit any more after
any change.
1523397
10
ooo-err
2006-07-14 19:38:53 +0000
@bm
hmm, I did not realise this was a cloning issue. I recognise the idea of
maximising compatability of import filters but I would have hoped that rather
than being a partial clone of a not-too-recent MSO, things like this would be
where OpenOffice could distinguish itself as a superior product.
The other problem with copying MSO is that users will expect the _same_ false
results or else they will complain the OpenOffice does not work correctly, so
you will need to guess how they force the false zero.
There seem to be too different senarios: the import filter and if/how to add
this functionality to Calc UI.
In the case of the import filter the idea of a dlg is good. I would favour
quite explicit warning that this is included for compatability only and will
produce an invalid fit and incorrect slope. Preferably with a help button
taking them to some text that explains the limitations of lin.regression and
the implications of cheating the fit. Once aware of the choice the user can
decide what to do.
As a feature for Calc UI, I think ANY attempt at lin. regression should post a
warning as to the limitations of the method that will be used and a link to
more info (I see that as the duty of the program since the user cannot know how
it is done and will assume in good faith that the methodology is valid).
@matthias
>>Adding a line by hand is not a solution at all, since the whole "idea" of the
feature is, that the slope is calculated from the data.
That's just the problem, calculating a slope that comes out WROMG is not
calculating from the data but gives the impression it is. It's worse than
having to do a fit by eye because it has a undue bona fide of having been
calculated by a computer.
Maybe it would make more sence to provide an easy means to fit a line by eye
that will follow any resizing etc. in the same way as an applied regression
formula apparently does and then show the formula.
I'm thinking of the way that gimp or blender let you create a line or bezier
curve and pull it around until it fits. At least for the linear case this would
be easy to program. Link it to the chart so that is scales and moves with it.
This will allow those interested in bending the truth to fit thier data to do
what they need to do and also allow a valid means of fitting a line to data
that do not fit the criteria for applying least squares analysis.
I'm not suggesting we make the use get out pen and paper here. The human brain
is much better at seeing the "best fit" than an incorrectly applied bit of
maths.
I cannot even imagine the ammount of innocently derived yet spurious
"scientific results" caused by inappropriate use of linear regression. One
major cause of this (appart from the quality of science education) is
spreadsheet software that makes it as easy as clicking a button.
I think OpenOffice has a chance to innovate rather than follow here.
Thanks for your interest in my comments.
1523409
11
ooo-err
2006-07-14 20:41:32 +0000
>> since the diagram may change in size and content, so the drawn line wouldn't
>> fit any more after any change.
@matthias
sorry, I did not understand your point until I reread this.
If a user fits a line by eye , he will know it is no longer valid if he changes
the data.
If he sets an automatic regression to inappropriate data it will never fit but
he will believe it does.
The former would seem to be the better choice.
1523400
12
openoffice
2006-07-16 22:28:26 +0000
@oooer:
You see this from a strict scientifically point of view when you say "bend the
truth". I may point out that Office suites are used (and are to be used) by all
sorts of people, some of which might not even care about scientific statistics,
just want a nice fitting for visualization.
Take f.e. a businessman that wants to visualize the mean growth of their
company's profits and which knows that it had 0 profits in, lets say, 2000,
because it the company was just founded this year. He/she wants a diagram with a
line going through the "(2000, 0)" point simply for the look of it.
Also sometimes constraints such as "fixed points" simply exist. Sometimes it is
better for a computer model to prefer a slightly wrong relationship formula over
the correct regression, simply to avoid computation side effects and artefacts,
or to simplify calculation. You'd maybe call this unscientifically, but such
tradeoffs are imho justified in science - as long as they are documented.
(I won't go deeper in this - this mailing list is the wrong place for such debates.)
Specifically to your comments:
- Having warning dialogs if the user does something "unscienfically" would be
very appropriate in a scientific software like an actual statistics program. For
a "general" office suite I find this out of scope. Imho OOo cannot (and should
not even try) to find out when, lets say, diagramm types are inappropriate,
diagram colors are hard to tell apart, formulae are nonsense or anything of this
sort.
> - "The human brain is much better at seeing the "best fit" than an incorrectly
> applied bit of maths."
You seem to have a much better brain for this, since with my brain I would not
dare to fit a line manually, except for a rough sketch. ;-)
But seriously, people don't use OOo's diagram features to "paint". And I don't
like this "penalty" approach: "If you are not doing strict statistics, use OOo
Draw and paint your line by hand."
1523402
13
IngridvdM
2006-11-06 21:34:41 +0000
*** Issue 71191 has been marked as a duplicate of this issue. ***
1523408
14
belegdol
2007-11-06 19:34:43 +0000
Any updates on this? REGLINP already supports a fixed intercept, so...
1523407
15
belegdol
2007-11-06 20:51:05 +0000
Umm, I mean LINEST. /me loves translating the functions.
1523403
16
IngridvdM
2008-07-03 11:39:22 +0000
change owner
1523512
17
paul8paul
2008-07-03 13:20:47 +0000
I agree. This is very important function for me as a science student. I can't
stop using Microsoft Office until I can do this in Open Office - at least for
linear regression. In fact in the interest of flexibility I think you should be
able to choose exactly where it intersects either axis.
I know there are scientific arguments for and against this function but what
difference does it make who is scientifically right or wrong. If this is a
function that users want to use then Open Office should be able to do it as
simply and quickly as possible.
1523515
18
paul8paul
2008-07-03 13:26:44 +0000
Its also necessary to be able to extrapolate the line as much as desired in
either direction.
1523404
19
IngridvdM
2008-07-22 14:21:34 +0000
reset to new
1523393
20
rb.henschel
2008-11-23 01:13:54 +0000
*** Issue 96461 has been marked as a duplicate of this issue. ***
1523392
21
listmail.oo
2008-11-23 03:21:16 +0000
There are many comments about this not being important as it is "faking data".
That simply isn't the case. In the real world and not just on paper, there are
error tolerances in what can be measured and they are often not exact. This is
why you need a trendline in the first place. If you have only a small number of
points there is a higher probability of the fit not meeting reality. Now, those
who suggest that the data really does go through a different y intercept there
are examples where it simply must be through a given point, such as zero. For
example, if you plot concentration versus light absorbance then zero
concentration must have zero absorbance. Extension of a spring might be another
example. If there is no mass on the spring it needs to have a zero extension.
The data in these examples would be MORE incorrect to have them pass through a
y intercept other than zero.
1523410
22
stefan.weigel
2008-12-12 20:12:46 +0000
We should not only be able to force the regression curve to go through zero, but
also through any other definable y axis intercept. I will attach a screenshot
from main competitor as an example (sorry only in german).
1523511
23
58788
stefan.weigel
2008-12-12 20:14:05 +0000
Created attachment 58788
Screenshot from competitor. Define y axis intercept in options dialog of regression curve.
1523516
24
simon
2009-03-01 14:41:43 +0000
I have used OO for a number of years, and this feature is one I Keep missing
every so often. So please find the resources to implement this feature.
1523517
25
jakub.toczek
2010-05-13 10:21:59 +0000
Same as shamran (and totally agree with dskene's post).
So UP!
1523394
26
jumbo444
2010-09-27 08:55:00 +0000
Hello,
I am pleased to inform you that Marcin Gutman has build an extension based on
Laurent Godard's macro CorelPoly. It can be downloaded at
http://extensions.services.openoffice.org/node/4387?
It is not the solution of this issue but it looks, from my point of view, has a
good workaround. In addition to polynomial regression, it also enable "force
intercept" option.
Please add your comments on this extension NOT HERE, but on extension web-page.
Comments and users feedback are welcome.
Next versions will include more robust method thanks to LINEST function, and
some translation.
1523395
27
jumbo444
2010-12-22 08:36:47 +0000
Hello,
CorelPolyGUI extension has been updated
http://extensions.services.openoffice.org/en/node/4634
It contains more robust method (QR decomposition), a simpler way to use "force
intercept" in case of linear problem, and translation in French and Polish.
1523396
28
jumbo444
2010-12-23 21:06:08 +0000
Sorry for the broken link. It is better to use:
http://extensions.services.openoffice.org/en/project/CorelPolyGUI
Latest version 0.3.2 corrects minor bugs.
1821290
29
jumbo4444
2011-10-04 08:55:13 +0000
Hello,
New version of CorelPoly (v 1.0!) available on
http://extensions-test.libreoffice.org/extension-center/improved-trend-lines/
and soon on OOo repository.
Now all classic regression are included, with force intercept option.
1860934
30
elish
2014-01-14 13:10:14 +0000
*** Issue 97439 has been marked as a duplicate of this issue. ***
58788
2008-12-12 20:14:05 +0000
2008-12-12 20:14:05 +0000
Screenshot from competitor. Define y axis intercept in options dialog of regression curve.
issue34093.png
image/png
7707
stefan.weigel
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
AAAAAElFTkSuQmCC