Biblioteka Java typu open source do statystyk na poziomie oferowanym przez magisterski kurs statystyczny

15

Biorę udział w kursie dla absolwentów statystyki stosowanej, który wykorzystuje następujący podręcznik (aby poczuć poziom badanego materiału): koncepcje i metody statystyczne , prowadzone przez GK Bhattacharyya i RA Johnsona.

Profesor wymaga od nas korzystania z SAS do odrabiania lekcji.

Moje pytanie brzmi: czy istnieje biblioteka (y) Java, której można używać zamiast SAS w przypadku problemów typowo spotykanych w takich klasach?

Obecnie próbuję zadowolić się Apache Math Commons i chociaż jestem pod wrażeniem biblioteki (jest łatwa w użyciu i zrozumiała), wydaje się, że brakuje w niej nawet prostych rzeczy, takich jak umiejętność rysowania histogramów (myślę o połączeniu jej z biblioteką wykresów) ).

Spojrzałem na Colta, ale moje początkowe zainteresowanie szybko wygasło.

Byłbym wdzięczny za każdy wkład - i przeglądałem podobne pytania na Stackoverflow, ale nie znalazłem nic przekonującego.

UWAGA: Zdaję sobie sprawę z bibliotek R, SciPy i Octave oraz java, które do nich dzwonią - szukam rodzimej biblioteki Java lub zestawu bibliotek, które mogą razem zapewniać funkcje, których szukam.

UWAGA: Tematy omawiane w takiej klasie zwykle obejmują: testy na jednej próbce i na dwóch próbkach oraz przedziały ufności dla średnich i median, statystyki opisowe, testy dobroci dopasowania, ANOVA jedno- i dwukierunkowe, jednoczesne wnioskowanie, testowanie wariancje, analiza regresji i analiza danych kategorycznych.

użytkownik1172468
źródło
2
Czy rozważałeś R ?
RioRaider,
Cześć, dziękuję za notatkę, szukam biblioteki, która jest prawie całkowicie w Javie. Wiem więc o bibliotekach R, SciPy i Octave oraz java, które do nich dzwonią - zredaguję pytanie, aby to odzwierciedlić. Dzięki.
user1172468,
wspomniałeś, że „znam biblioteki R, SciPy i Octave oraz biblioteki Java, które do nich dzwonią”. Czy możesz mi powiedzieć, jak wywołać kod napisany w „oprogramowaniu statystycznym R” przy użyciu Java?
Aman Chawla,
5
Dlaczego chcesz używać biblioteki Java do podstawowych testów statystycznych?
Underminer
3
@Underminer zadaje właściwe pytanie tutaj. Robienie statystyk w Javie jest jak używanie młotka do śrub. Przy wystarczającej determinacji i brutalnej sile z pewnością możesz wkręcić śrubę na swoje miejsce, ale nie w bardzo elegancki lub wydajny sposób. Prawdopodobnie skończysz z uszkodzoną śrubą i bolesnymi palcami.
Marc Claesen

Odpowiedzi:

10

Kiedy jestem zmuszony używać java do podstawowych statystyk, apache commons matematyka jest właściwą drogą. Do wykresów używam i polecam JFreeChart . Ta ostatnia jest szeroko rozpowszechniona, więc przepełnienie stosu ma nawet zapełniony znacznik .

Edytować

Jeśli ktoś szuka pakietu, to może Deducer jest opcją. GUI opiera się na JGR, podczas gdy części statystyczne są wywoływane w R. Wydaje się, że można je rozszerzać zarówno przez R, jak i Java . Można np. Pominąć wywołania Rengine, ale zamiast tego odwołać się do bibliotek Java. Ale przyznaję, że jeszcze tego nie próbowałem.

O ile rozumiem OP, optymalne byłoby coś w rodzaju Rapidminer for Statistics , ponieważ Rapidminer jest czystym frameworkiem Java, który obsługuje dostęp do GUI (w tym wizualizacje), wykorzystanie jako biblioteki i tworzenie niestandardowych wtyczek. Według mojej najlepszej wiedzy, coś takiego w statystyce nie istnieje. Nie polecam Rapidminer do tego konkretnego zadania , ponieważ według mojej najlepszej wiedzy zawiera on tylko najbardziej podstawowe testy statystyczne. Wizualizacje zostały ostatnio rozszerzone, ale nie mogę oszacować, jak można je teraz dostosowywać.

steffen
źródło
Cześć, to jest to, co próbuję zrobić, szkoda, że ​​nie było bardziej wszechstronnego pakietu.
user1172468,
@ user1172468 Zaktualizowałem swoją odpowiedź
Steffen,
4

Sprawdź Suan Shu: NumericalMethod.com . Ogólnie nie jest bezpłatny, ale jest bezpłatny do użytku akademickiego.

użytkownik765195
źródło
To nie jest tak naprawdę odpowiedź na pytanie PO. To bardziej komentarz. Czy miałbyś coś przeciwko rozszerzeniu go, aby był bardziej odpowiedzią? Alternatywnie możemy przekonwertować go na komentarz.
gung - Przywróć Monikę
Być może mógłbyś wyjaśnić, dlaczego nie jest to odpowiedź. On szuka biblioteki java, a ja wskazałem mu taką, która ma większość funkcji, których szuka.
user765195
Masz rację, ta sytuacja jest nieco bardziej niejednoznaczna niż standardowa sytuacja. Niemniej jednak jest to zasadniczo tylko odpowiedź na link. SE traktuje je raczej jako komentarze niż odpowiedzi. Masz wystarczającą reputację, aby podać to jako komentarz. Ponieważ zwykły link jest tutaj rodzajem odpowiedzi, a ponieważ miał on głos w górę, nie oflagowałem go w celu konwersji na komentarz, ale może być fajny, jeśli możesz go trochę dodać. Jeśli nie możesz i zdecydujesz się nie komentować, szanuję twoją decyzję, dlatego po prostu zostawiłem ci notatkę.
gung - Przywróć Monikę
Nie wydaje się darmowy do użytku akademickiego.
kosmos
Niestety już nie, ale wersja studencka wydaje się dostępna za 100 USD.
user765195,
3

Podobnie do sugestii steffen dotyczącej RapidMiner, możesz rozważyć Weka . Może być bardziej ukierunkowany na uczenie maszynowe, niż się spodziewasz. Ma wiele algorytmów do zadań takich jak grupowanie, klasyfikacja i regresja. Weka ma GUI, ale może być również używany jako biblioteka oprogramowania. Widziałem histogramy w GUI, ale nie jestem pewien, czy łatwo jest je ponownie użyć w bibliotece, czy nie.

Michael McGowan
źródło
Cześć dzięki za odpowiedź. Naprawdę myślałem o materiale objętym kursem Grad Statistics: Tematy obejmują testy jednej i dwóch próbek oraz przedziały ufności dla średnich i median, statystyki opisowe, testy dopasowania, jedno i dwa -way ANOVA, jednoczesne wnioskowanie, wariancje testowania, analiza regresji i analiza danych kategorycznych.
user1172468,
1

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

Jest dobrze udokumentowany i zapewnia wiele przydatnych funkcji statystycznych i matematycznych. Ale niestety nie jest to oprogramowanie typu open source. Więc jeśli to ci nie przeszkadza, biblioteka powinna być w porządku.

Nie wiem jednak, czy zapewnia wyjście graficzne.

Orges Leka
źródło
1
Cześć, dziękuję za link, czy wiesz, jak to się ma do Apache Commons Math.
user1172468,
1

Środowisko obliczeniowe DataMelt ma wiele bibliotek statystycznych Java prawie na każdy temat. Możesz go używać za pomocą Jython, jak zalecono na stronie internetowej, ale ja używam go z Javą i Groovy.

Mogę powiedzieć więcej: projekt DataMelt obejmuje następujące tematy statystyczne:

  • Losowe liczby
  • Najpopularniejsze dystrybucje dyskretne i kontynuowane
  • Opisowa analiza statystyczna
  • Dopasowanie danych (liniowe i nieliniowe)
  • Różne testy statystyczne
  • Histogramy w 2D i 3D

Oto przykład regresji nieliniowej wykorzystujący metodę logarytmu prawdopodobieństwa w celu dopasowania danych do błędów:

wprowadź opis zdjęcia tutaj

Pakiet jest bezpłatny.

Remi
źródło
3
Witamy na stronie, @Remi. To nie jest tak naprawdę odpowiedź na pytanie PO. To bardziej komentarz. Użyj tylko pola „Twoja odpowiedź”, aby podać odpowiedzi. Rozumiem, że to frustrujące, ale będziesz mógł komentować w dowolnym miejscu, gdy Twoja reputacja> 50. Alternatywnie możesz spróbować go rozwinąć, aby był bardziej odpowiedzią. Ponieważ jesteś tutaj nowy, możesz przeczytać naszą stronę przewodnika , która zawiera informacje dla nowych użytkowników.
gung - Przywróć Monikę