2011-07-04 17 views
6

Dada una colección de (N + 1) vectores reales valorados -dimensional con N valor dependiente independiente y 1, me gustaría para calcular un polinomio de grado 1 (lineal), 2 (cuadrático) o superior que proporciona un ajuste razonablemente bueno (p. Ej. Según lo determinado por el error de mínimos cuadrados). En otras palabras, cuando se aplica a los elementos de la colección, el polinomio debe asignar los valores independientes de cada uno al valor dependiente asociado (con un margen de error razonable).Multidimensional regresión polinómica (preferiblemente C/C++, Java o Scala)

Espero que la dimensionalidad de las variables independientes esté en el rango 2..8, y que trabaje en colecciones de 20..200 elementos. Espero encajar un polinomio en milisegundos en lugar de segundos. :-)

Encontré rápidamente algoritmos para la regresión polinómica para datos unidimensionales, pero no he podido encontrar nada práctico para datos multidimensionales. Me interesan principalmente las descripciones de algoritmo o el código fuente. ¿Alguna sugerencia?

+2

Es posible que desee intentar hacer su pregunta en http://stats.stackexchange.com/. –

Respuesta

3

Es posible que desee explorar la plataforma Weka de minería de datos y aprendizaje automático: es extremadamente completa e incluye todo tipo de algoritmos de regresión diferentes.

Una gran ventaja es que es todo de código abierto, por lo que también puede estudiar el código si lo desea.

+0

Iba a escribir lo mismo. – Rekin

+0

¿Sabes cuál es el nombre del clasificador para la regresión polinómica multidimensional en Weka? Simplemente no puedo encontrarlo: S –

0

Estaba buscando el mismo código y he encontrado dos buenos ejemplos de esto.

Ver net.sourceforge.openforecast

ver Específicamente el PolynomialRegressionModel clase como punto de partida

y una sencilla implementación de la clase única, que está diseñado para grupos de datos mucho más grandes que usted ha mencionado

http://blog.locut.us/2009/11/14/polynomial-regression-on-a-large-dataset-in-java/

+0

La clase 'PolynomialRegressionModel' a la que se hace referencia solo hace regresión de variable única. –