2008-10-15 19 views
7

Quiero hacer una regresión por mínimos cuadrados escasamente dimensional (unos mil rasgos) con algunos cientos de miles de ejemplos. Me complace usar una optimización no sofisticada, el descenso de gradiente estocástico está bien.Herramientas para la regresión de mínimos cuadrados dispersos

¿Alguien sabe de algún software ya implementado para hacer esto, por lo que no tengo que escribir por mi cuenta?

Saludos cordiales.

+1

Gracias por sus comentarios. Estaba buscando algo que simplemente manejara los cálculos del gradiente y toda la información que se disputaba para mí. Al final no pude encontrar nada. R parecía desmoronarse con grandes conjuntos de datos. Implementé una solución usando numpy en python. – Owen

Respuesta

5

Aunque no estoy seguro, esto me parece el tipo de cosa que LAPACK (paquete de álgebra lineal) sería capaz de proporcionar soporte. Por lo general, están interesados ​​en las matemáticas de matriz grande, incluidas las matrices dispersas y los tamaños fuera del núcleo. La versión básica es FORTRAN, pero hay puertos de las bibliotecas para C y otros idiomas.

Como LAPACK usa BLAS (subprogramas de álgebra lineal básica) para muchas de sus llamadas subyacentes, probablemente también desee verificar Sparse BLAS.

1

Sugiero echar un vistazo a LAPACK. Es una biblioteca de álgebra lineal bastante madura, aunque interactuar con ella puede ser un poco complicado, ya que está escrita en Fortran. Sin embargo, eso está bien, ya que Fortran es ABI compatible con C, si tienes tus prototipos de funciones correctos.

[Editar] Tras una nueva revisión, parece que LAPACK no admite matrices dispersas. Puede manejar matrices con bandas para algunos propósitos, pero para el problema lineal de mínimos cuadrados, solo admite matrices generales.

3

Estoy bastante seguro de que el R package se puede utilizar para problemas como este. Es increíblemente poderoso y flexible. Muchos recursos en línea vinculados desde esa página.

Cuestiones relacionadas