Biblioteca Java de código aberto para estatísticas no nível oferecido por um curso de estatística

15

Estou fazendo um curso de pós-graduação em Estatística Aplicada que usa o seguinte livro (para dar uma idéia do nível do material coberto): Conceitos e Métodos Estatísticos , de GK Bhattacharyya e RA Johnson.

O professor exige que usemos o SAS para os trabalhos de casa.

Minha pergunta é: existe uma (s) biblioteca (s) Java, que pode ser usada em vez do SAS para problemas normalmente vistos nessas classes.

Atualmente, estou tentando me contentar com o Apache Math Commons e, embora esteja impressionado com a biblioteca (é fácil de usar e compreensível), parece não ter coisas simples, como a capacidade de desenhar histogramas (pensando em combiná-lo com uma biblioteca de gráficos) )

Eu olhei para Colt, mas meu interesse inicial diminuiu rapidamente.

Gostaria de receber qualquer entrada - e eu olhei para perguntas semelhantes no Stackoverflow, mas não encontrei nada atraente.

NOTA: Conheço as bibliotecas R, SciPy e Octave e java que fazem chamadas para elas - estou procurando uma biblioteca nativa Java ou um conjunto de bibliotecas que possam fornecer os recursos que estou procurando.

NOTA: Os tópicos abordados nessa classe geralmente incluem: testes de uma amostra e duas amostras e intervalos de confiança para médias e medianas, estatística descritiva, testes de qualidade do ajuste, ANOVA de uma e duas vias, inferência simultânea, testes variações, análise de regressão e análise de dados categóricos.

user1172468
fonte
2
Você já considerou R ?
RioRaider 18/09/12
Olá, obrigado pela observação. Estou procurando uma biblioteca que é quase inteiramente em Java. Portanto, estou ciente das bibliotecas R, SciPy e Octave e java que fazem chamadas para eles - editarei a pergunta para refletir isso. Obrigado.
user1172468
você mencionou que "conheço as bibliotecas R, SciPy e Octave e java que fazem chamadas para elas". Você pode me dizer que como você chamará o código escrito em "software de estatística R" usando Java?
Aman Chawla
5
Por que você deseja usar uma biblioteca Java para testes estatísticos básicos?
Minador
3
@ Underminer faz a pergunta certa aqui. Fazer estatísticas em Java é como usar um martelo para parafusos. Com determinação e força bruta suficientes, você certamente pode colocar o parafuso no lugar, mas não de uma maneira muito elegante ou eficiente. Você provavelmente acabará com um parafuso danificado e dedos doloridos.
Marc Claesen

Respostas:

10

Quando sou forçado a usar java para estatísticas básicas, o apache commons math é o caminho a percorrer. Para gráficos, eu uso e recomendo o JFreeChart . O último é amplamente difundido, portanto, o stackoverflow ainda possui uma tag preenchida .

Editar

Se alguém procura uma suíte, talvez o Dedutor seja uma opção. A GUI é baseada no JGR, enquanto as partes estatísticas são chamadas em R. Parece ser prorrogável via R e java . Pode-se, por exemplo, pular as chamadas para o Rengine, mas chamar as bibliotecas java referenciadas. Mas admito que ainda não tentei.

Até onde eu entendi o OP, o ideal seria algo como o Rapidminer for Statistics , já que o Rapidminer é uma estrutura java pura que suporta acesso à GUI (incluindo visualizações), uso como biblioteca e desenvolvimento de plugins personalizados. Que eu saiba, algo assim para as estatísticas não existe. Eu não recomendo RapidMiner para essa tarefa particular , porque ao melhor de meu conhecimento que só inclui a maioria dos testes estatísticos básicos. As visualizações foram estendidas ultimamente, mas não posso estimar quão personalizáveis ​​elas são agora.

steffen
fonte
Olá, é isso que estou tentando fazer, gostaria que houvesse um conjunto mais abrangente.
user1172468
@ user1172468 Atualizei minha resposta
steffen
4

Confira Suan Shu: NumericalMethod.com . Não é gratuito em geral, mas é gratuito para uso acadêmico.

user765195
fonte
Esta não é realmente uma resposta para a pergunta do OP. É mais um comentário. Você se importaria de expandi-lo para torná-lo mais uma resposta? Como alternativa, podemos convertê-lo em um comentário para você.
gung - Restabelece Monica
Talvez você possa expandir por que não é uma resposta. Ele está procurando uma biblioteca java e eu o apontei para uma que possui a maioria dos recursos que ele está procurando.
user765195
Você está certo, esta situação é um pouco mais ambígua que a situação padrão. No entanto, esta é essencialmente uma resposta apenas de link. O SE pensa neles como comentários e não como respostas. Você tem reputação suficiente para fornecer isso como um comentário. Como apenas um link é uma espécie de resposta aqui e, como teve um voto positivo, não o sinalizei para conversão em um comentário, mas pode ser bom se você puder adicionar um pouco a ele. Se você não puder e optar por não comentar, eu respeito sua decisão, por isso simplesmente deixei uma nota para você.
gung - Restabelece Monica
Não parece gratuito para uso acadêmico.
Kosmos
Infelizmente, aparentemente não, mas uma versão para estudantes ainda parece disponível por US $ 100.
user765195
3

Semelhante à sugestão de RapidMiner de steffen, você pode considerar Weka . Pode ser voltado mais especificamente para o aprendizado de máquina do que você espera. Possui muitos algoritmos para tarefas como clustering, classificação e regressão. O Weka possui uma GUI, mas também pode ser usada como uma biblioteca de software. Vi histogramas na GUI, mas não tenho certeza se é fácil reutilizá-los através da biblioteca ou não.

Michael McGowan
fonte
Olá, obrigado pela resposta. Eu estava realmente pensando no material abordado em um curso de Estatística da Grad: Os tópicos incluem testes de uma e duas amostras e intervalos de confiança para médias e medianas, estatística descritiva, testes de adequação, um e dois ANOVA de três vias, inferência simultânea, variações de teste, análise de regressão e análise de dados categóricos.
user1172468
1

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

Está bem documentado e fornece muitas funções estatísticas e matemáticas úteis. Mas, infelizmente, não é de código aberto. Portanto, se isso não incomodá-lo, a biblioteca deve estar ok.

Eu não sei no entanto, se ele fornece saída gráfica.

Orges Leka
fonte
11
Olá, obrigado pelo link, você sabe como ele se compara ao Apache Commons Math.
user1172468
1

O ambiente de computação DataMelt possui muitas bibliotecas estatísticas Java quase para qualquer tópico. Você pode usá-lo usando o Jython conforme recomendado no site, mas eu o uso com Java e Groovy.

Posso dizer mais: o projeto DataMelt abrange os seguintes tópicos estatísticos:

  • Números aleatórios
  • Distribuições discretas e continuadas mais populares
  • Análise estatística descritiva
  • Ajuste de dados (linear e não linear)
  • Vários testes estatísticos
  • Histogramas em 2D e 3D

Aqui está um exemplo de regressão não linear usando a abordagem de probabilidade de log para ajustar dados com erros:

insira a descrição da imagem aqui

O pacote é gratuito.

Remi
fonte
3
Bem-vindo ao site, @Remi. Esta não é realmente uma resposta para a pergunta do OP. É mais um comentário. Por favor, use apenas o campo "Sua resposta" para fornecer respostas. Reconheço que é frustrante, mas você poderá comentar em qualquer lugar quando sua reputação for maior que 50. Como alternativa, você pode tentar expandi-lo para torná-lo mais uma resposta. Como você é novato aqui, leia a nossa página de tour , que contém informações para novos usuários.
gung - Restabelece Monica