Biblioteca Java de código abierto para estadísticas al nivel ofrecido por un curso de estadística de posgrado

15

Estoy tomando un curso de postgrado en Estadística Aplicada que utiliza el siguiente libro de texto (para darle una idea del nivel del material que se está cubriendo): Conceptos y métodos estadísticos , por GK Bhattacharyya y RA Johnson.

El profesor nos exige que usemos SAS para las tareas.

Mi pregunta es: ¿hay una biblioteca (s) Java que se puede usar en lugar de SAS para los problemas que normalmente se ven en esas clases.

Actualmente estoy tratando de conformarme con Apache Math Commons y, aunque estoy impresionado con la biblioteca (es fácil de usar y comprensible), parece que carece incluso de cosas simples como la capacidad de dibujar histogramas (pensar en combinarlo con una biblioteca de gráficos )

He mirado a Colt, pero mi interés inicial disminuyó bastante rápido.

Agradecería cualquier aporte, y he examinado preguntas similares en Stackoverflow, pero no he encontrado nada convincente.

NOTA: conozco las bibliotecas R, SciPy y Octave y Java que realizan llamadas a ellas. Estoy buscando una biblioteca nativa de Java o un conjunto de bibliotecas que puedan proporcionar las funciones que busco.

NOTA: Los temas cubiertos en dicha clase incluyen típicamente: pruebas de una muestra y dos muestras e intervalos de confianza para medias y medianas, estadísticas descriptivas, pruebas de bondad de ajuste, ANOVA de una y dos vías, inferencia simultánea, pruebas varianzas, análisis de regresión y análisis de datos categóricos.

usuario1172468
fuente
2
¿Has considerado R ?
RioRaider
Hola, gracias por la nota, estoy buscando una biblioteca que esté casi completamente en Java. Por lo tanto, conozco las bibliotecas R, SciPy y Octave y Java que les hacen llamadas. Editaré la pregunta para reflejar esto. Gracias.
user1172468
mencionó que "conozco las bibliotecas R, SciPy y Octave y java que les hacen llamadas". ¿Puede decirme cómo llamaría al código escrito en el "software de estadísticas R" utilizando Java?
Aman Chawla
55
¿Por qué quieres usar una biblioteca Java para pruebas estadísticas básicas?
Underminer
33
@Underminer hace la pregunta correcta aquí. Hacer estadísticas en Java es como usar un martillo para tornillos. Con suficiente determinación y fuerza bruta, seguramente puede colocar el tornillo en su lugar, pero no de una manera muy elegante o eficiente. Probablemente terminará con un tornillo dañado y dedos dolorosos.
Marc Claesen

Respuestas:

10

Cuando me veo obligado a usar Java para estadísticas básicas, las matemáticas de apache commons son el camino a seguir. Para tramas, uso y recomiendo JFreeChart . Este último está muy extendido, por lo que stackoverflow incluso tiene una etiqueta poblada .

Editar

Si uno busca una suite, entonces tal vez Deducer es una opción. La GUI se basa en JGR, mientras que las partes estadísticas se llaman en R. Parece que se puede ampliar tanto a través de R como de Java . Uno podría, por ejemplo, omitir las llamadas al Rengine pero llamar a las bibliotecas Java referenciadas en su lugar. Pero lo admito, todavía no lo intenté.

Hasta donde he entendido el OP, lo óptimo sería algo así como Rapidminer for Statistics , ya que Rapidminer es un framework java puro que admite el acceso GUI (incluidas las visualizaciones), el uso como biblioteca y el desarrollo de complementos personalizados. Que yo sepa, no existe algo así para las estadísticas. No recomiendo Rapidminer para esa tarea en particular , porque que yo sepa, solo incluye las pruebas estadísticas más básicas. Las visualizaciones se han extendido últimamente, pero no puedo estimar cuán personalizables son ahora.

steffen
fuente
Hola, eso es lo que intento hacer, desearía que hubiera una suite más completa.
user1172468
@ user1172468 He actualizado mi respuesta
steffen
4

Echa un vistazo a Suan Shu: NumericalMethod.com . No es gratis en general, pero es gratis para uso académico.

usuario765195
fuente
Esto no es realmente una respuesta a la pregunta del OP. Es más un comentario. ¿Te importaría expandirlo para que sea más una respuesta? Alternativamente, podemos convertirlo en un comentario para usted.
gung - Restablecer Monica
Tal vez podría ampliar por qué no es una respuesta. Está buscando una biblioteca de Java y le señalé una que tiene la mayoría de las características que está buscando.
user765195
Tienes razón, esta situación es un poco más ambigua que la situación estándar. Sin embargo, esto es esencialmente una respuesta de solo enlace. SE piensa en eso como comentarios en lugar de respuestas. Tienes suficiente reputación para haberlo proporcionado como comentario. Debido a que simplemente un enlace es una especie de respuesta aquí y dado que tenía un voto a favor, no lo marqué para convertirlo en un comentario, pero podría ser bueno si pudiera agregarle un poco. Si no puede, y elige no hacer un comentario, respeto su decisión, por eso simplemente le dejé una nota.
gung - Restablecer Monica
No parece gratuito para uso académico.
Kosmos
Desafortunadamente, aparentemente ya no, pero una versión para estudiantes todavía parece estar disponible por $ 100.
user765195
3

Similar a la sugerencia de Steffen de RapidMiner, es posible que desee considerar Weka . Sin embargo, puede estar orientado más específicamente al aprendizaje automático de lo que espera. Tiene muchos algoritmos para tareas como agrupación, clasificación y regresión. Weka tiene una GUI, pero también se puede usar como una biblioteca de software. He visto histogramas en la GUI, pero no estoy seguro de si es fácil reutilizarlos a través de la biblioteca o no.

Michael McGowan
fuente
Hola, gracias por la respuesta, realmente estaba pensando en el material cubierto en un curso de Estadística de posgrado: los temas incluyen pruebas de una y dos muestras e intervalos de confianza para medias y medianas, estadísticas descriptivas, pruebas de bondad de ajuste, uno y dos ANOVA, inferencia simultánea, pruebas de varianzas, análisis de regresión y análisis de datos categóricos.
user1172468
1

Pruebe http://www.roguewave.com/Portals/0/products/imsl-numerical-libraries/java-library/docs/5.0.1/api/overview-summary.html

Está bien documentado y proporciona muchas funciones estadísticas y matemáticas útiles. Pero desafortunadamente no es de código abierto. Entonces, si eso no te molesta, entonces la biblioteca debería estar bien.

Sin embargo, no sé si proporciona una salida gráfica.

Orges Leka
fuente
1
Hola, gracias por el enlace, ¿sabes cómo se compara con Apache Commons Math?
user1172468
1

El entorno informático DataMelt tiene muchas bibliotecas estadísticas de Java casi para cualquier tema. Puede usarlo usando Jython como se recomienda en el sitio web, pero lo uso con Java y Groovy.

Puedo decir más: el proyecto DataMelt cubre los siguientes temas estadísticos:

  • Números al azar
  • Distribuciones discretas y continuas más populares
  • Análisis estadístico descriptivo.
  • Ajuste de datos (lineal y no lineal)
  • Varias pruebas estadísticas
  • Histogramas en 2D y 3D.

Aquí hay un ejemplo de regresión no lineal que utiliza el enfoque de probabilidad de registro para ajustar los datos con errores:

ingrese la descripción de la imagen aquí

El paquete es gratis.

Remi
fuente
33
Bienvenido al sitio, @Remi. Esto no es realmente una respuesta a la pregunta del OP. Es más un comentario. Utilice solo el campo "Su respuesta" para proporcionar respuestas. Reconozco que es frustrante, pero podrás comentar en cualquier lugar cuando tu reputación sea> 50. Alternativamente, podría intentar expandirlo para que sea más una respuesta. Como eres nuevo aquí, es posible que quieras leer nuestra página del recorrido , que contiene información para nuevos usuarios.
gung - Restablece a Monica