Bibliothèque Java open source pour les statistiques au niveau offert par un cours de statistique diplômé

15

Je suis en train de suivre un cours de deuxième cycle en statistique appliquée qui utilise le manuel suivant (pour vous donner une idée du niveau du matériel couvert): Concepts et méthodes statistiques , par GK Bhattacharyya et RA Johnson.

Le professeur nous oblige à utiliser SAS pour les devoirs.

Ma question est la suivante: existe-t-il une ou plusieurs bibliothèques Java qui peuvent être utilisées à la place de SAS pour les problèmes généralement rencontrés dans ces classes.

J'essaie actuellement de me débrouiller avec Apache Math Commons et bien que je sois impressionné par la bibliothèque (c'est la facilité d'utilisation et la compréhensibilité) il semble manquer même des choses simples telles que la possibilité de dessiner des histogrammes (en pensant à les combiner avec une bibliothèque de graphiques) ).

J'ai regardé Colt, mais mon intérêt initial s'est dissipé assez rapidement.

J'apprécierais toute contribution - et j'ai examiné des questions similaires sur Stackoverflow, mais je n'ai rien trouvé de convaincant.

REMARQUE: Je connais les bibliothèques R, SciPy et Octave et java qui les appellent - je recherche une bibliothèque native Java ou un ensemble de bibliothèques qui peuvent fournir ensemble les fonctionnalités que je recherche.

REMARQUE: Les sujets abordés dans une telle classe comprennent généralement: les tests à un échantillon et à deux échantillons et les intervalles de confiance pour les moyennes et les médianes, les statistiques descriptives, les tests de qualité de l'ajustement, l'ANOVA unidirectionnelle et bidirectionnelle, l'inférence simultanée, les tests variances, analyse de régression et analyse de données catégoriques.

user1172468
la source
2
Avez-vous pensé à R ?
RioRaider
Salut, merci pour la note, je recherche une bibliothèque presque entièrement en Java. Je connais donc les bibliothèques R, SciPy et Octave et java qui les appellent - je vais modifier la question pour refléter cela. Merci.
user1172468
vous avez mentionné que "je connais les bibliothèques R, SciPy et Octave et java qui les appellent". Pouvez-vous me dire comment appellerez-vous le code écrit dans le "logiciel de statistiques R" en utilisant Java?
Aman Chawla
5
Pourquoi voulez-vous utiliser une bibliothèque Java pour des tests statistiques de base?
Underminer
3
@Underminer pose ici la bonne question. Faire des statistiques en Java, c'est comme utiliser un marteau pour les vis. Avec suffisamment de détermination et de force brute, vous pouvez sûrement mettre la vis en place, mais pas de manière très élégante ou efficace. Vous vous retrouverez probablement avec une vis endommagée et des doigts douloureux.
Marc Claesen

Réponses:

10

Quand je suis obligé d'utiliser java pour les statistiques de base, apache commons math est la voie à suivre. Pour les tracés, j'utilise et recommande JFreeChart . Ce dernier est largement répandu, donc stackoverflow a même une balise remplie pour cela .

Éditer

Si l'on cherche une suite, alors peut-être que Deducer est une option. L'interface graphique est basée sur JGR, tandis que les parties statistiques sont appelées en R. Il semble être extensible à la fois via R et java . On pourrait par exemple ignorer les appels à Rengine mais appeler des bibliothèques java référencées à la place. Mais j'avoue, je ne l'ai pas encore essayé.

Pour autant que j'ai compris l'OP, l'optimum serait quelque chose comme Rapidminer for Statistics , car Rapidminer est un cadre java pur qui prend en charge l'accès à l'interface graphique (y compris les visualisations), l'utilisation comme bibliothèque et le développement de plugins personnalisés. À ma connaissance, quelque chose comme ça pour les statistiques n'existe pas. Je ne recommande pas Rapidminer pour cette tâche particulière , car au meilleur de ma connaissance, il ne comprend que les tests statistiques les plus élémentaires. Les visualisations ont été étendues récemment, mais je ne peux pas estimer à quel point elles sont personnalisables.

steffen
la source
Salut, c'est un peu ce que j'essaie de faire, j'aurais aimé qu'il y ait une suite plus complète.
user1172468
@ user1172468 J'ai mis à jour ma réponse
steffen
4

Consultez Suan Shu: NumericalMethod.com . Ce n'est pas gratuit en général, mais c'est gratuit pour un usage académique.

user765195
la source
Ce n'est pas vraiment une réponse à la question du PO. C'est plus un commentaire. Pourriez-vous l'étendre pour en faire davantage une réponse? Alternativement, nous pouvons le convertir en commentaire pour vous.
gung - Rétablir Monica
Peut-être pourriez-vous expliquer pourquoi ce n'est pas une réponse. Il recherche une bibliothèque java et je l'ai pointé vers celle qui a la majorité des fonctionnalités qu'il recherche.
user765195
Vous avez raison, cette situation est un peu plus ambiguë que la situation standard. Néanmoins, c'est essentiellement une réponse de lien seulement. SE les considère comme des commentaires plutôt que comme des réponses. Vous avez suffisamment de réputation pour avoir fourni ceci en tant que commentaire. Parce qu'un simple lien est en quelque sorte une réponse ici et comme il y a eu un vote positif, je ne l'ai pas marqué pour la conversion en commentaire, mais il serait bien que vous puissiez y ajouter un peu. Si vous ne pouvez pas, et choisissez de ne pas en faire un commentaire, je respecte votre décision, c'est pourquoi je vous ai simplement laissé une note.
gung - Rétablir Monica
Il ne semble pas gratuit pour un usage académique.
Kosmos
Malheureusement, plus apparemment, mais une version étudiante semble toujours disponible pour 100 $.
user765195
3

Semblable à la suggestion de steffen de RapidMiner, vous voudrez peut-être considérer Weka . Il peut être plus spécifiquement axé sur l'apprentissage automatique que vous ne l'espérez. Il possède de nombreux algorithmes pour des tâches telles que le clustering, la classification et la régression. Weka a une interface graphique, mais elle peut également être utilisée comme bibliothèque de logiciels. J'ai vu des histogrammes dans l'interface graphique, mais je ne sais pas s'il est facile de les réutiliser via la bibliothèque ou non.

Michael McGowan
la source
Bonjour merci pour la réponse, je pensais vraiment au matériel couvert dans un cours de statistiques sur les diplômés: les sujets comprennent les tests à un et deux échantillons et les intervalles de confiance pour les moyennes et les médianes, les statistiques descriptives, les tests de qualité de l'ajustement, un et deux ANOVA à deux voies, inférence simultanée, test des variances, analyse de régression et analyse de données catégorielle.
user1172468
1

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

Il est bien documenté et fournit de nombreuses fonctions statistiques et mathématiques utiles. Mais malheureusement ce n'est pas open source. Donc, si cela ne vous dérange pas, la bibliothèque devrait être correcte.

Je ne sais pas cependant s'il fournit une sortie graphique.

Orges Leka
la source
1
Bonjour, merci pour le lien, savez-vous comment il se compare à Apache Commons Math.
user1172468
1

L' environnement informatique DataMelt possède de nombreuses bibliothèques statistiques Java presque pour tous les sujets. Vous pouvez l'utiliser en utilisant Jython comme préconisé sur le site Web, mais je l'utilise avec Java et Groovy.

Je peux en dire plus: le projet DataMelt couvre les sujets statistiques suivants:

  • Nombres aléatoires
  • Distributions discrètes et continues les plus populaires
  • Analyse statistique descriptive
  • Ajustement des données (linéaire et non linéaire)
  • Divers tests statistiques
  • Histogrammes en 2D et 3D

Voici un exemple de régression non linéaire utilisant l'approche log-vraisemblance pour ajuster les données avec des erreurs:

entrez la description de l'image ici

Le forfait est gratuit.

Remi
la source
3
Bienvenue sur le site, @Remi. Ce n'est pas vraiment une réponse à la question du PO. C'est plus un commentaire. Veuillez utiliser uniquement le champ «Votre réponse» pour fournir des réponses. Je reconnais que c'est frustrant, mais vous pourrez commenter n'importe où lorsque votre réputation> 50. Alternativement, vous pouvez essayer de le développer pour en faire une réponse plus. Puisque vous êtes nouveau ici, vous voudrez peut-être lire notre page de visite , qui contient des informations pour les nouveaux utilisateurs.
gung - Réintégrer Monica