Quel langage de programmation pour l'inférence statistique?

8

juste pour la curiosité ... Quelle langue est la plus utilisée ici? R? MATLAB? Python? Java?

Qu'en est-il du prototype ou de la production? Par exemple, je pense que MATLAB est principalement utilisé pour le prototypage, python pour les deux prot. et production ...

nkint
la source
6
à peu près résolu ici: stackoverflow.com/questions/2200460/…
radek
2
Wiki créé car c'est entièrement subjectif.
Shane

Réponses:

7

Je ne pourrais pas être plus d'accord avec un vote pour R. R est la "Lingua Franca" du monde des statistiques. C'est la définition de pointe, alors que la plupart des packages pour MATLAB et SAS prennent plusieurs mois. Le langage est très simple à comprendre contrairement à SAS. Il vous donne également le pouvoir de vous connecter avec C / C ++ / Python et les bases de données.

Considérez la version Revolution Analytics de R pour un peu plus de performances.

http://www.revolutionanalytics.com/products/revolution-r.php

pslice
la source
2
Je dois dire que je ne suis pas d'accord sur le fait que R est plus simple à apprendre que SAS. C'est peut-être parce que j'ai d'abord appris SAS et SPSS, mais je pense que SAS, SPSS (PASW maintenant) et Stata sont tous des langages plus faciles à comprendre que R. C'est un argument subjectif cependant.
Andy W
J'ai l'impression que R donne beaucoup plus de fonctionnalités à l'utilisateur. Cela va au-delà de ce que SAS / SPSS peut faire.
pslice
3
Je ne suis pas en désaccord avec cela, mais cela ne facilite pas la compréhension. Je pense qu'il est assez transparent avec quels objets je travaille dans SAS, SPSS ou Stata et le format / la nature de ces objets, mais ce n'est pas aussi transparent dans R. Bien que R puisse être plus à la pointe, j'ai rarement un besoin de techniques statistiques de pointe dans mon travail quotidien.
Andy W
Difficile de penser que les systèmes à source fermée sont transparents. Même si vous n'avez utilisé que d'anciennes méthodes statistiques, R est un système plus efficace pour les utiliser et forme une boîte à outils de recherche reproductible complète.
Frank Harrell
8

Eh bien, vous pouvez PAYER pour MATLAB, puis (1) programmer tout ce dont vous avez vraiment besoin ou (2) PAYER PLUS pour les boîtes à outils MATLAB. Et découvrez que faire des statistiques utiles dans MATLAB était une réflexion après coup gérée dans la boîte à outils statistiques de moins en moins utile. Ou ... vous pouvez télécharger R GRATUITEMENT et rechercher (et trouver!) Les packages dont vous avez besoin, que vous pouvez également télécharger GRATUITEMENT.

Beaucoup de choses à petite échelle peuvent être faites en R. Si vous faites quelque chose de vraiment important (pensez au recensement américain), vous devez probablement aller apprendre SAS - et demander à votre employeur de le payer.

Mike Anderson
la source
7

La "popularité" dépend de la communauté et de la définition des "statistiques". Dans le monde entier, en adoptant une vision large de l '"inférence statistique" comme incluant toute méthode permettant de tirer des conclusions ou de prendre des mesures basées sur des données quantitatives, il ne fait aucun doute qu'Excel bat toutes les autres applications, y compris R, SAS, Stata, SPSS et S -Plus . (Les liens pointent vers différents types de statistiques, mais ils sont pour le moins très évocateurs.) Python et MATLAB ne sont même pas des défauts dans les statistiques. Je ne dis pas que c'est une bonne chose ou que nous devrions l'aimer: c'est comme ça et c'est comme ça que ça va durer très longtemps.

Nous ne devons pas tirer de conclusions de ce qui peut sembler être populaire "ici" dans ce forum. Les éditeurs de logiciels commerciaux prennent en charge leurs propres forums, donc naturellement un endroit comme SE favorisera les personnes utilisant des logiciels moins activement pris en charge, en particulier des solutions gratuites, open-source et universitaires.

Whuber
la source
6

Il devrait être clair en regardant les balises les plus populaires que R est la langue la plus populaire sur ce site. On ne peut pas en déduire directement si cela en fait le langage le plus populaire pour l'analyse statistique, mais on pourrait le supposer.

Shane
la source
4

R et SAS ont chacun leurs avantages et leurs inconvénients. Je pense que davantage de statisticiens doivent accepter le fait que de nombreux logiciels statistiques sont disponibles, plutôt que de se chamailler sans cesse sur ce qui est supérieur.

R est gratuit. SAS est très cher. R vous donne la possibilité de faire à peu près n'importe quoi. SAS peut ou non. R a des capacités graphiques incroyables. En voyant les graphiques SAS, on se sent à nouveau comme en 1985. SAS a un excellent support client. Support R = heures de recherche dans les archives de la liste de diffusion. Également avec un nom comme "R", les résultats des moteurs de recherche sont souvent médiocres. R est extrêmement lent et ne gère pas bien les grands ensembles de données. SAS fait très bien avec de grands ensembles de données. SAS a tendance à être plus robuste. D'après mon expérience, en ce qui concerne la modélisation d'effets mixtes ou tout ce qui implique la conception d'expériences (comme l'analyse de conceptions croisées), SAS est supérieur.

Pour les simulations de force brute à grande échelle, j'utilise Fortran. J'ai utilisé C, mais j'ai trouvé que Fortran est beaucoup plus facile à utiliser. Je n'ai jamais utilisé MATLAB. Si j'ai besoin de la puissance statistique de R mais de la vitesse de Fortran, j'écrirai les opérations chronophages (c'est-à-dire les boucles) dans Fortran et appellerai le sous-programme de R.

MichaelSnot
la source
3
Eh bien, le support R sont des endroits comme ici, qui sont souvent plus efficaces qu'un support payant. Pour googler, il y a rseek.org, ça marche très bien. 99% des cas R-is-slow peuvent être résolus avec un peu de réflexion; il existe également des packages pour gérer les énormes données (ce n'est pas simple non plus en SAS). R est un langage de programmation, SAS est un SQL étendu.
2
+1 parce que cette réponse est utile, mais je pense que vos points sur le support, la vitesse et la capacité de R à gérer des données volumineuses sont obsolètes ou le deviennent assez rapidement.
Matt Parker du
2
Je vais appuyer le commentaire de @Matt et @ mbq sur les performances de R, mais j'aimerais ajouter que R est en fait assez bon pour les (N) LME. Je me souviens d'un discours de Doug Bates lors de la conférence DSC 2009 où il a montré comment le lme4package gère facilement de nombreux effets aléatoires (comme par exemple dans l'évaluation pédagogique). Ma propre expérience (mais limitée) (SAS NLMIXED vs R lme4) confirme ce point: R n'est en aucun cas plus lent que SAS lorsqu'il s'agit d'appliquer des modèles IRT complexes , et il gère également de grands ensembles génétiques de données (grâce à une implémentation C intelligente) .
chl
1

Ma préférence va à Python, et peut-être à Java. Ce sont d'abord de vrais langages de programmation. Deuxièmement, ce sont les langues les plus populaires (Index TIOBE). Vous pouvez également convertir entre ces langages à l'aide de plusieurs langages de script. Dans le passé, j'utilisais la plate-forme DMelt http://jwork.org/dmelt/ pour effectuer des calculs statistiques, et j'ai été très impressionné par les graphiques en 2D et 3D, qui peuvent être facilement réalisés pour les papiers professionnels. Le package R ne m'a pas impressionné par les graphismes.

john2
la source
2
Cela ne règle pas la question du langage le plus populaire pour l'inférence statistique. Il s'agit principalement de vos préférences personnelles avec une mention de ce que sont les langages de programmation populaires.
Nick Cox