2011-04-16 36 views
8

¿Alguien sabe de una biblioteca científica/matemática en Java que tiene una implementación directa de la regresión lineal ponderada? Algo a lo largo de las líneas de una función que toma 3 argumentos y devuelve los coeficientes correspondientes:Regresión lineal ponderada en Java

linearRegression(x,y,weights) 

Esto parece bastante sencillo, por lo que me imagino que existe en algún lugar.

PD) He probado la biblioteca de Flannigan: http://www.ee.ucl.ac.uk/~mflanaga/java/Regression.html, ¿tiene la idea correcta pero parece colapsar esporádicamente y quejarse de mis grados de libertad?

Respuesta

15

No es una biblioteca, pero el código se publica: http://www.codeproject.com/KB/recipes/LinReg.aspx (e incluye la explicación matemática del código, que es una gran ventaja). Además, parece que hay otra aplicación del mismo algoritmo aquí: http://sin-memories.blogspot.com/2009/04/weighted-linear-regression-in-java-and.html

Por último, hay una lib de una universidad en Nueva Zelanda, que parece tenerlo implementado: http://www.cs.waikato.ac.nz/~ml/weka/ (javadocs bastante decente). El método específico se describe aquí: http://weka.sourceforge.net/doc/weka/classifiers/functions/LinearRegression.html

+0

El Java traduce el código era bastante servicial - gracias por la ayuda! –

+0

También encontré que este documento es útil para comprender e implementar la regresión lineal al tiempo que incluye el error: https://www.che.udel.edu/pdf/FittingData.pdf –

2

Personalmente utilicé org.apache.commons.math.stat.regression.SimpleRegression Class de la biblioteca Apache Math.

También encontré una clase más ligera de la Universidad de Princeton, pero no midieron que:

http://introcs.cs.princeton.edu/java/97data/LinearRegression.java.html

+0

+1 ¡Este es un pequeño programa ordenado! El gradiente, el desplazamiento y sus errores son acertados. Veo algunas diferencias en los resultados de ejecutarlo a través de gnuplot en los cálculos ssr, por ejemplo. – Magpie

+0

Ninguno de los dos ejemplos maneja los pesos. –

Cuestiones relacionadas