2012-11-26 16 views
8

Sto costruendo un'app Web che deve calcolare le statistiche su un set di dati. Ho bisogno di calcolare percentili, medie, modi e altre funzioni statistiche sugli array.Calcolo delle statistiche sugli array

Normalmente in Python, vorrei semplicemente usare scipy, numpy o nltk che ha un'enorme libreria di funzioni di array di statistiche. Ci sono gemme di rubini o librerie che posso utilizzare per fare questo?

Nel caso in cui non ci siano librerie esistenti, esiste un modo semplice per eseguire l'elaborazione dei dati in Python mantenendo la mia app in Ruby/Rails?

+0

C'è [Sciruby] (http://sciruby.com) in effetti, sebbene non ci sia ancora molto supporto per le statistiche. E non è molto attivo ora. Immagino che rubino sia ancora troppo lento per il calcolo. – halfelf

risposta

7

Se hai davvero bisogno di una libreria di statistiche completa, dai un'occhiata a statsample. Altrimenti potresti trovare descriptive_statistics un'alternativa piacevole e leggera.

+0

Sto riscontrando problemi con l'uso di descriptive_statistics all'interno di rails perché sembra definire la somma per Enumerable (over-riding the rails version) che sta rovinando AR. – slykat

+0

Nevermind, vedo che può essere risolto con require 'descriptive_statistics/safe' – slykat

1

Potrebbe essere possibile utilizzare Rubystats o Easystats. Sono sicuro che ci sono altre gemme che non conosco.

0

Per il numero di numeri Narray è la raccomandazione standard. I suoi metodi statistici sono sommatoria, somma cumulativa, prodotto (moltiplica gli elementi), prodotto cumulativo, media, deviazione standard, quadratura media principale, deviazione quadrata media principale, minimo, massimo e mediana.

Essendo specializzato per i numeri, è claimed per essere fino a 50 volte più veloce e più efficiente in memoria tham Array.

0

Se stai calcolando le statistiche sui modelli di ActiveRecord, probabilmente vorrai controllare la gemma statistics.

Ho anche inserito il segnalibro statisticus che offre l'integrazione GNU-R e SIRB per l'uso nella console.

Ci sono una miriade di modi per eseguire Python sotto un'app Rails ma è probabilmente più semplice trovare i metodi necessari in una libreria Ruby.

0

Ho implementato un nuovo Gem - MDArray che esegue le statistiche in JRuby. Questo potrebbe essere abbastanza buono per una web app, dato che JRuby è fondamentalmente Java. MDArray segue la filosofia di NArray e Numpy e sebbene a questo punto sia probabilmente più lento di entrambi, dovrebbe essere più veloce di una pura alternativa di Ruby.

Controllalo e se hai bisogno di aiuto sarò lieto di provare ad aiutarti.

Cheers,

Rodrigo

0

È possibile utilizzare NMatrix, che è una libreria numerico simile a NumPy in costante sviluppo. (disclaimer: Vengo dal team di SciRuby/NMatrix)

Problemi correlati