Frage : Rechenlinear-Regression durch Java-Code, wie in Microsoft Excel getan

Hallo,

My ist Ziel, ein lineares resgression im Java-Code zu berechnen, wie in den Microsoft Excel-Funktionen getan:

SLOPE () und ABSCHNITT ().
I haben den folgenden Code in Java using die Apache-Common mathematische Bibliothek entwickelt: (empfohlen durch diesen Aufstellungsort für die Behandlung von statisctics und vorhanden in: http://commons.apache.org/ math/download_math.cgi)

// die (...) Markierung ist für etwas doppelte Daten, die in der program.
SimpleRegression Rückbildung = neues SimpleRegression bereitgestellt werden ();
für (int idx = 0; idx < 50; ++idx) {
doppeltes stockReturn =…;
doppeltes marketReturn =…;
regression.addData (stockReturn, marketReturn);
}
Abschnitt = regression.getIntercept ();
Steigung = regression.getSlope ();


However, alle stockReturn Daten in Zellen A1-A50 und alle marketReturn Daten in den Zellen B1-B50 in einem Excel-Blatt einsetzend und dann berechnen im Blatt:
STEIGUNG (A1: A50, B1: B50)
ABSCHNITT (A1: A50, B1: B50)

Gives anderes Resultat als, was vom Java code.

Can zur Verfügung gestellt wurde, Sie erklären bitte, was falsch hier getan wird?

Thanks viel!



Antwort : Rechenlinear-Regression durch Java-Code, wie in Microsoft Excel getan

Die Rückbildung von X auf Y und die Rückbildung von Y auf X sind verschiedene Verfahren.  Ihr Excel-Code behandelt A1: A50 als das Kriterium (y-Mittellinie) und B1: B50 als das Kommandogerät (x-Mittellinie).  Ihr Java-Code behandelt stockReturn als X und marketReturn als Y.  Dieses, was Ihnen beabsichtigt?

Das heißt, sollten diese die gleiche Antwort produzieren, wenn stockReturn in B1 ist: B50 und marketReturn ist in A1: A50.  Wenn das nicht zutreffend ist, müssen Sie eins von ihm aufheben.
Weitere Lösungen  
 
programming4us programming4us