Open-Source-Java-Bibliothek für Statistik auf dem Niveau eines Statistik-Absolventenkurses


15

Ich mache einen Abschlusskurs in Angewandter Statistik, der das folgende Lehrbuch verwendet (um Ihnen ein Gefühl für das Niveau des behandelten Materials zu vermitteln): Statistische Konzepte und Methoden , von GK Bhattacharyya und RA Johnson.

Der Professor verlangt von uns, SAS für die Hausaufgaben zu verwenden.

Meine Frage ist: Gibt es eine Java-Bibliothek (en), die anstelle von SAS für Probleme verwendet werden kann, die normalerweise in solchen Klassen auftreten?

Ich versuche gerade, mit Apache Math Commons auszukommen, und obwohl ich von der Bibliothek beeindruckt bin (sie ist benutzerfreundlich und verständlich), fehlen anscheinend auch einfache Dinge wie die Fähigkeit, Histogramme zu zeichnen (ich denke, sie mit einer Diagrammbibliothek zu kombinieren) ).

Ich habe mir Colt angesehen, aber mein anfängliches Interesse hat sich ziemlich schnell gelegt.

Würde mich über jeden Input freuen - und ich habe mir ähnliche Fragen zu Stackoverflow angeschaut, aber nichts überzeugendes gefunden.

ANMERKUNG: Mir sind R-, SciPy-, Octave- und Java-Bibliotheken bekannt, die sie aufrufen. Ich suche eine native Java-Bibliothek oder eine Reihe von Bibliotheken, die zusammen die von mir gesuchten Funktionen bereitstellen können.

ANMERKUNG: Die Themen, die in einer solchen Klasse behandelt werden, umfassen normalerweise: Tests mit einer Stichprobe und zwei Stichproben sowie Konfidenzintervalle für Mittelwerte und Mediane, deskriptive Statistiken, Anpassungsgütetests, Einweg- und Zweiweg-ANOVA, simultane Inferenz, Tests Varianzen, Regressionsanalyse und kategoriale Datenanalyse.


2
Hast du R in Betracht gezogen ?
RioRaider

Hallo, danke für den Hinweis, ich suche eine Bibliothek, die fast ausschließlich in Java ist. Ich bin mir also bewusst, dass R-, SciPy- und Octave- und Java-Bibliotheken sie anrufen - ich werde die Frage bearbeiten, um dies zu reflektieren. Vielen Dank.
user1172468

Sie meinten: "Ich kenne R-, SciPy- und Octave- und Java-Bibliotheken, die sie anrufen." Können Sie mir bitte sagen, wie Sie den in "R statistics software" geschriebenen Code mit Java aufrufen?
Aman Chawla

5
Warum möchten Sie eine Java-Bibliothek für grundlegende statistische Tests verwenden?
Underminer

3
@Underminer stellt hier die richtige Frage. Statistiken in Java zu erstellen ist wie ein Hammer für Schrauben. Mit genügend Entschlossenheit und roher Gewalt können Sie die Schraube sicher anbringen, aber nicht auf eine sehr elegante oder effiziente Weise. Sie werden wahrscheinlich mit einer beschädigten Schraube und schmerzhaften Fingern enden.
Marc Claesen

Antworten:


10

Wenn ich gezwungen bin, Java für grundlegende Statistiken zu verwenden, ist Apache Commons Math der richtige Weg. Für Zeichnungen verwende und empfehle ich JFreeChart . Letzteres ist weit verbreitet, sodass stackoverflow sogar ein gefülltes Tag hat .

Bearbeiten

Wenn man eine Suite sucht, ist Deducer vielleicht eine Option. Die GUI basiert auf JGR, während die statistischen Teile in R aufgerufen werden. Sie scheint sowohl über R als auch über Java erweiterbar zu sein . Man könnte zB die Aufrufe der Rengine überspringen, aber stattdessen referenzierte Java-Bibliotheken aufrufen. Aber ich gebe zu, ich habe es noch nicht ausprobiert.

Soweit ich das OP verstanden habe, wäre Rapidminer for Statistics das Optimum , da Rapidminer ein reines Java-Framework ist, das den GUI-Zugriff (einschließlich Visualisierungen), die Verwendung als Bibliothek und die Entwicklung benutzerdefinierter Plugins unterstützt. Sowas gibt es meines Wissens für Statistiken nicht. Ich empfehle Rapidminer für diese spezielle Aufgabe nicht , da es meines Wissens nur die grundlegendsten statistischen Tests enthält. Die Visualisierungen wurden in letzter Zeit erweitert, aber ich kann nicht einschätzen, wie anpassbar sie jetzt sind.


Hallo, das ist eine Art, was ich versuche, ich wünschte, es gäbe eine umfassendere Suite.
user1172468

@ user1172468 Ich habe meine Antwort aktualisiert
steffen

4

Schauen Sie sich Suan Shu: NumericalMethod.com an . Es ist im Allgemeinen nicht kostenlos, aber für den akademischen Gebrauch kostenlos.


Dies ist keine wirkliche Antwort auf die Frage des OP. Es ist eher ein Kommentar. Würde es Ihnen etwas ausmachen, es zu erweitern, um es zu einer Antwort zu machen? Alternativ können wir es für Sie in einen Kommentar umwandeln.
gung - Wiedereinsetzung von Monica

Vielleicht können Sie erläutern, warum dies keine Antwort ist. Er sucht nach einer Java-Bibliothek und ich habe ihn auf eine verwiesen, die die meisten Funktionen hat, nach denen er sucht.
user765195

Sie haben Recht, diese Situation ist etwas mehrdeutiger als die Standardsituation. Dies ist jedoch im Wesentlichen eine Antwort nur auf Links. SE betrachtet diese eher als Kommentare als als Antworten. Sie haben genug Reputation, um dies als Kommentar zur Verfügung zu stellen. Da hier nur ein Link eine Art Antwort ist und es eine positive Bewertung gab, habe ich ihn nicht zur Konvertierung in einen Kommentar markiert, aber es wäre schön, wenn Sie etwas hinzufügen könnten. Wenn Sie nicht können und sich dafür entscheiden, keinen Kommentar abzugeben, respektiere ich Ihre Entscheidung. Deshalb habe ich Ihnen einfach eine Notiz hinterlassen.
gung - Wiedereinsetzung von Monica

Es scheint nicht kostenlos für den akademischen Gebrauch.
Kosmos

Leider nicht mehr anscheinend, aber eine Studentenversion scheint immer noch für 100 Dollar erhältlich zu sein.
user765195

3

Ähnlich wie bei Steffen's Vorschlag von RapidMiner solltest du Weka in Betracht ziehen . Es ist möglicherweise spezifischer auf maschinelles Lernen ausgerichtet, als Sie es sich erhoffen. Es verfügt über zahlreiche Algorithmen für Aufgaben wie Clustering, Klassifizierung und Regression. Weka hat eine GUI, kann aber auch als Softwarebibliothek verwendet werden. Ich habe Histogramme in der Benutzeroberfläche gesehen, bin mir aber nicht sicher, ob es einfach ist, sie in der Bibliothek wiederzuverwenden oder nicht.


Hallo, danke für die Antwort, ich habe wirklich über das Material nachgedacht, das in einem Grad Statistics-Kurs behandelt wurde: Zu den Themen gehören Tests mit einer und zwei Stichproben und Konfidenzintervalle für Mittelwerte und Mediane, deskriptive Statistiken, Anpassungsgütetests, Tests mit einer und zwei Stichproben -way ANOVA, simultane Inferenz, Testvarianzen, Regressionsanalyse und kategoriale Datenanalyse.
user1172468

1

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

Es ist gut dokumentiert und bietet viele nützliche statistische und mathematische Funktionen. Aber leider ist es nicht Open Source. Wenn Sie das nicht stört, sollte die Bibliothek in Ordnung sein.

Ich weiß jedoch nicht, ob es eine grafische Ausgabe bietet.


1
Hallo, danke für den Link, weißt du, wie es mit Apache Commons Math verglichen wird?
user1172468

1

In der DataMelt- Computerumgebung gibt es viele statistische Java-Bibliotheken für fast jedes Thema. Sie können es mit Jython verwenden, wie auf der Website empfohlen, aber ich verwende es mit Java und Groovy.

Ich kann noch mehr sagen: Das DataMelt-Projekt deckt die folgenden statistischen Themen ab:

  • Zufällige Zahlen
  • Beliebteste diskrete und fortgesetzte Distributionen
  • Deskriptive statistische Analyse
  • Datenanpassung (linear und nicht linear)
  • Verschiedene statistische Tests
  • Histogramme in 2D und 3D

Hier ist ein Beispiel für eine nicht lineare Regression, bei der der Log-Likelihood-Ansatz verwendet wird, um Daten mit Fehlern anzupassen:

Bildbeschreibung hier eingeben

Das Paket ist kostenlos.


3
Willkommen auf der Site, @Remi. Dies ist keine wirkliche Antwort auf die Frage des OP. Es ist eher ein Kommentar. Bitte verwenden Sie nur das Feld "Ihre Antwort", um Antworten zu geben. Ich erkenne, dass es frustrierend ist, aber Sie können überall Kommentare abgeben, wenn Ihr Ruf> 50 ist. Alternativ können Sie versuchen, es zu erweitern, um eine bessere Antwort zu erhalten. Da Sie neu hier sind, können Sie unsere Tour-Seite lesen , die Informationen für neue Benutzer enthält.
gung - Wiedereinsetzung von Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.