Fråga : Beräkna linjär regression av Java kodifierar som gjort i Microsoft Excel

Hi målet för

My är att beräkna en linjär resgression i Java kodifierar, som gjort i Microsoft Excel fungerar:

SLOPE () och FÅNGAR UPP ().
I har framkallat efter kodifiera i Java using arkivet för Apache allmänningMath: (rekommenderat av denna plats för bruk av statisctics och tillgängligt i: rel= " nofollow " " för _blank " för

// för http://commons.apache.org/ math/download_math.cgi) som (...)en markerar är för några dubbla data förutsatt att i regressionen för program.
SimpleRegression = nya SimpleRegression ();
för (int-idx = 0; idx < 50; ++idx) {
dubblerar stockReturn =…;
dubblerar marketReturn =…;
regression.addData (stockReturn, marketReturn);
för
} fångar upp = regression.getIntercept ();
sluttar = regression.getSlope ();


However som sätter alla stockReturndata i celler A1-A50, och alla marketReturndata i celler B1-B50 i en Excel täcker och därefter beräkna i täcka:
SLUTTAR (A1: A50 B1: B50)
FÅNGAR UPP (A1: A50 B1: B50)

Gives som annat resultat än vad gs av Javaen code.

Can dig behaga, förklarar vad göras orätt här?

Thanks ett lott!



" klar "

Svar : Beräkna linjär regression av Java kodifierar som gjort i Microsoft Excel

Regressionen av X på Y och regressionen av Y på X är olika tillvägagångssätt.  Din Excel kodifierar behandlar A1: A50 som kriteriet (y-axel) och B1: B50 som spåman (x-axel).  Din Java kodifierar behandlar stockReturn som X och marketReturn som Y.  Detta vad du ämnas?

Med andra ord dessa, bör jordbruksprodukter det samma svaret, om stockReturn är i B1: B50 och marketReturn är i A1: A50.  Om det inte är riktig, du ska behov att vända om ett av dem.
Andra lösningar  
 
programming4us programming4us