R-Quadrat-Wert in Excel mit der 'addtrendline" Funktion?
Ich zu kämpfen haben, während, die;
Kurz gesagt, ich kann nicht finden, die Gleichungen verwendet Excel für R2.
-
Hier sind meine Daten :
x: 1 2 3 4 5 6 7 8 9 10
y: 4 9 1 2 1 1 8 5 5 1 -
Ich plot der Daten, passen eine power-law-Funktion ("add trendline") und verwenden Sie die "add trendline > Optionen - > Display R-squared value on chart"
Wert angezeigt :
R2 = 0.03008.
Problem 1
Wenn ich die Berechnung in excel mit 'RSQ ()" - Funktion (wobei die Werte der Parameter Excel gefunden hat, für den fitting-Funktion), oder von hand mit der definition (wikipedia)...
R2 = 0.0272
Problem 2
In Matlab, mit der " fit " - Funktion, die Parameter für die Anpassungsfunktion (und dann natürlich die R2) sind nicht diejenigen, die EXCEL gefunden hat.
Fragen:
So, hier ist meine wichtigste Frage :
Wie funktioniert Excel berechnet die R2 in der "add trendline" - Funktion, da es offensichtlich nicht die eine aus der definition (wikipedia)?
und die bonus-Frage:
Warum Excel-und Matlab-nicht am Ende mit dem gleichen fitting-Parameter?
vielen Dank!
%%%%%% EDIT UNTEN! %%%%
Als eine Antwort auf einen Kommentar;
Hier ist der Matlab-code, den ich verwenden:
%% R-squared with the fit function
% use the fit function in Matlab, yobs being the data
[param, results] = fit(x,yobs,'power1');
% R-squared from the fit function :
r_sq_from_fit = results.rsquare;
%% here I calculate "by hand" the R-squared, from the general definition (wikipedia!)
% calculates the fitting data yfit
yfit = (p_powerlaw.a).*x.^p_powerlaw.b;
% mean of the yobs, total sum of squares, and residual sum of squares
yobs_mean = mean(yobs);
SStot = sum((yobs-yobs_mean).^2);
SSres = sum((yobs-yfit).^2);
r_sq_hand = 1-SSres/SStot;
Finde ich die gleichen Werte, ob ich nicht bekommen R-squared von der fit
Funktion in Matlab oder ich berechne es "von hand". Matlab scheint konsequent zu sein, und offenbar nutzt der strengen definition der R-Quadrat in seiner Funktion...
Jedoch; wenn ich Vergleiche:
- der R-Quadrat-Wert gegeben durch Excel von
RSQ()
Funktion - und der Wert, den ich erhalten von hand die Berechnung von R-Quadrat aus der definition (wobei natürlich die yfit Werte, die von Excel wieder bei mir, nicht die, die Matlab gibt, wie Excel und Matlab damit nicht auf die fitting-Parameter!)
...Ich erhalten andere Werte! Excel : 0.027, wie ich schon sagte, und hand berechnet : -0.1109 (!)
- Wie sind Sie immer auf 0.0272 genau?
- Ich nehme die Parameter, Excel gefunden für den Einbau (3.6153 und -0.217), Berechnung der angepassten Werte (nennen wir Sie yfit) und berechnen Sie das BESTIMMTHEITSMASS Funktion mit Argumenten, die Daten (y) und die angepasste Werte (yfit).
Du musst angemeldet sein, um einen Kommentar abzugeben.
BESTIMMTHEITSMASS hat nicht Rückkehr der r-Quadrat-Wert für ein macht trendline, sondern es gibt die r-Quadrat für eine lineare Trendlinie. Excel-Hilfe liest "Für logarithmisch, Leistung und exponentielle Trendlinien, Excel verwendet eine transformierte Regressionsmodell", aber ich bin nicht in der Lage zu finden, das Modell.
Siehe auch Wie misst man die Güte einer Passform einer Trendlinie zu einem power-law
Diese Frage (wie funktioniert die "add trendline" in Excel funktioniert wirklich?) auch verwirrt mich für eine längere Zeit, weil in einer Forschung, die ich brauche, um sicher zu sein über die Herkunft meiner zahlen. Weil ich habe keine gefunden, zu viel über diese im internet, also habe ich versucht mehrere vays manueller R^2 (Bestimmtheitsmaß) evaluation, um die gleichen Ergebnisse zu erhalten wie Excel.
Ich machte dieselbe Beobachtung wie es bereits erwähnt wurde, in Frage. Wenn man "add trendline" für lineare (und auch logarithmische) Funktion Einbau, die resultierende R^2 und regresion Parameter sind identisch mit den manuell berechneten Parameter. Aber wenn man "add trendline" für andere nichtlineare Funktion Einbaulage (beispielsweise exponentiell), ist die resultierende R^2 und regresion-Parameter unterscheidet sich von manuell berechneten Parameter.
Ist die Lösung dieses problem wurde teilweise schon genannt in der Diskussion hier. Es scheint, dass, um fit nichtlinearen trend in den Daten, Excel primäre linearisieren das problem. So zum Beispiel fit der exponentiellen Funktion y=a* exp(b * x) es in Erster Linie setzt Sie in die Funktion ln(y)=ln(a)+b*x. Dann die Beziehung zwischen ln(y) und x ist linear. Danach werden die linearisierten Funktion ist eingebaut in transformierten Daten mit üblichen Strategie der Minimierung der Summe der quadrierten Residuen. So ist die regresion Parameter ln(a) und b erhalten werden. Auch R^2 berechnet sich aus der linearisierten form. Da ist es in der linearen Abhängigkeit, BESTIMMTHEITSMASS () - Funktion kann verwendet werden durch Excel für die Berechnung von R^2.
Wenn man diese Prozedur folgt manuell ein, dann wird die resultierende regresion Parameter und R^2-Werte sind identisch mit denen von Excel "Trendlinie hinzufügen".
Also in der Regel die regresion Parameter und R^2-Werte zur Verfügung gestellt von Excel "Trendlinie hinzufügen" im Falle der nicht-lineare regresion nicht wahr nichtlineare, aber wahrscheinlich erhält man nach Linearisierung des Problems. Als Folge werden diese Parameter leicht abweichen Parameter direkt berechnet, ohne Transformationen.
Hinweis zu R^2: soweit ich das jetzt verstehe, ist das R^2 für den linearen Fall (besser gekennzeichnet durch einen kleinen Buchstaben: r^2) berechnet sich als Quadrat der corelation-Koeffizient. (BESTIMMTHEITSMASS()=KORREL()^2=PEARSON()^2). Da dieses Verhältnis die Werte von r^2 reichen können nur zwischen 0 - 1. Eine Reihe von input-knowns kann geändert werden, durch abfangen und/oder Steigung, die ohne änderung von r^2-Wert. Auf der anderen Seite das R^2 für eine nicht-lineare Fall (besser bezeichnet durch Kapital leter) definiert ist, einen anderen Weg (siehe Wikipedia). Seine Werte sind nicht von unten beschränkt mit dem Wert 0 und maximal den Wert 1 noch zeigen, die am besten passen. Änderung einer Reihe von input-knowns durch abfangen und/oder Steigung ändert sich der R^2 Wert. R^2 funktioniert gleich gut auch im linearen Fall.
Es ist, weil Sie sich Fragen, für die R2 der Einbau einer power-Funktion, in der Sie im Diagramm (d.h. y = a(x)b), in der Erwägung, dass die
RQS
Funktion in Excel gibt Ihnen die R2 für einen linearen fit (d.h. y = a(x) + b). Ich vermute, Sie haben ein ähnliches Problem in Matlab. Brauchen Sie veröffentlichen Sie Ihren code in Matlab obwohl, sonst wir;d alles nur raten.