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.


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.


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.


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.


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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.