2012-11-26 25 views
8

Buduję aplikację internetową, która musi obliczać statystyki na zbiorze danych. Potrzebuję obliczyć percentyle, średnie, tryby i inne funkcje statystyczne na tablicach.Oblicz statystyki na tablicach

Zwykle w Pythonie użyłbym po prostu scipy, numpy lub nltk, który ma ogromną bibliotekę funkcji tablic statystycznych. Czy są jakieś rubinowe klejnoty lub biblioteki, które mogę wykorzystać, aby to zrobić?

W przypadku, gdy nie ma żadnych istniejących bibliotek, czy istnieje prosty sposób na przetwarzanie moich danych w Pythonie przy zachowaniu mojej aplikacji w Ruby/Rails?

+0

Istnieje [Sciruby] (http://sciruby.com), choć nie ma jeszcze większego wsparcia dla statystyk. I teraz nie jest zbyt aktywny. Wydaje mi się, że ruby ​​wciąż są zbyt wolne do obliczania. – halfelf

Odpowiedz

7

Jeśli naprawdę potrzebujesz pełnej biblioteki statystyk, spójrz na statsample. W przeciwnym razie możesz znaleźć descriptive_statistics jako miłą, lekką alternatywę.

+0

Mam problem z używaniem deskryptywnej_statystyki w szynach, ponieważ zdaje się definiować sumę dla Enumerable (over-riding the rails version), która psuje AR. – slykat

+0

Nieważne, widzę, że można to rozwiązać wymagając "statystyka deskryptywna/bezpieczna" – slykat

1

Być może będziesz w stanie użyć Rubystats lub Easystats. Jestem pewien, że jest więcej klejnotów, o których nie wiem.

0

Do numerowania od numeru Narray jest standardową rekomendacją. Są to metody statystyczne: sumowanie, sumowanie sumaryczne, produkt (pomnożenie elementów), łączna produkcja, średnia, odchylenie standardowe, średni kwadratowy pierwiastek, średnie odchylenie kwadratowe, minimalne, maksymalne i mediany.

Specjalizując się w liczbach, jest to claimed, aby być maksymalnie 50 razy szybszym i bardziej wydajnym w pamięci macierzowym.

0

Jeśli obliczasz statystyki w modelach ActiveRecord, prawdopodobnie będziesz chciał sprawdzić klejnot statistics.

Udostępniłem także zakładkę statisticus, która oferuje integrację z GNU-R i SIRB do użycia w konsoli.

Istnieje wiele sposobów uruchamiania Pythona w aplikacji Rails, ale prawdopodobnie łatwiej jest znaleźć potrzebne metody w bibliotece Ruby.

0

Zaimplementowałem nowy Gem - MDArray, który wykonuje statystyki w JRuby. To może być całkiem dobre dla aplikacji internetowej, ponieważ JRuby to w zasadzie Java. MDArray podąża za filozofią NArray i Numpy i choć w tym momencie jest prawdopodobnie wolniejszy od obu, powinien być szybszy od czystej Ruby.

Sprawdź to i jeśli potrzebujesz pomocy, chętnie pomożemy.

Cheers,

Rodrigo

0

Można użyć NMatrix, która jest podobna do biblioteki numeryczne NumPy w ciągłym rozwoju. (zrzeczenie się: Jestem z zespołu SciRuby/NMatrix)