J'ai appris R, mais il semble que les entreprises s'intéressent beaucoup plus à l'expérience SAS. Quels sont les avantages de SAS sur R?
J'ai appris R, mais il semble que les entreprises s'intéressent beaucoup plus à l'expérience SAS. Quels sont les avantages de SAS sur R?
Réponses:
Je pense qu'il y a plusieurs problèmes (par ordre croissant de validité possible):
Personnellement, je pense seulement que le n ° 3 a un mérite légitime, bien qu'il existe des approches pour le Big Data développées avec R. Les problèmes avec le n ° 1 parlent d'eux-mêmes. Je pense que # 2 ignore plusieurs faits: il y a une vérification qui se passe avec R, beaucoup des paquets principaux sont écrits par certains des plus grands noms de la statistique, et il y a eu des études qui comparent la précision de différents logiciels statistiques & R a certainement été compétitif.
lme4
liste de diffusion , je sais que les comparaisons avec SAS apparaissent assez régulièrement. Mais il est impossible de savoir si nous devrions même faire de telles comparaisons. Sans accès à la source, nous devons prendre ces entreprises au mot que les résultats produits par leurs logiciels sont réellement valides. Franchement, je préfère avoir la possibilité de réviser le code du logiciel que j'utilise.
En plus des bonnes réponses apportées jusqu'à présent, j'ajouterais le facteur embarras. Si vous avez dépensé des centaines de milliers de dollars l'année dernière en support SAS et SAS et que vous proposez de ne rien dépenser pour R, avec des prix de support extrêmement bas (Revolution, etc.), une personne de la chaîne se demandera pourquoi. Était-ce une erreur de dépenser autant d'argent l'année dernière alors que R existait l'année dernière? Ou est-ce une erreur de laisser tomber un logiciel professionnel pour quelque chose créé par un groupe de bénévoles?
Une fois que le problème est formulé de cette manière, la proposition est perdue, il vaut donc peut-être mieux ne pas en parler.
En plus de ce que Gung a correctement identifié ici, le plus gros problème dans le monde de l'entreprise est l'héritage. Et quand vous avez un code de production de bonne qualité, connu pour faire le travail, vous ne le changez pas. SAS existait depuis les années 1970 et était à l'époque le seul langage statistique de script efficace. La quantité de code de production accumulée depuis lors dans SAS dans les secteurs pharmaceutique et gouvernemental est inimaginable, des dizaines de milliers d'années. Réécrire cela dans R ou Stata prendrait quelques années, le code résultant deviendra plus flexible, plus efficace, plus transparent, plus facile et moins coûteux à maintenir, mais personne ne paiera pour une telle refactorisation. (D'après mon expérience, mon code Stata est généralement trois fois plus court; j'avais déjà eu un projet de conversion de code SPSS en Stata, où je l'avais rendu environ 20 fois plus court.
En un sens, il s’agit d’une histoire similaire avec les éditeurs universitaires: ils surfent sur une vague d’utilisateurs finaux qui maintiennent leurs abonnements par nécessité; une université sans abonnement à Nature n'est pas vraiment une université. La publication gratuite via des sociétés professionnelles permettra de réduire les coûts, les gens préparent leurs soumissions dans LaTeX ces jours-ci, ils sont donc prêts à photographier, et les mêmes personnes fourniront l'examen par les pairs, de sorte qu'il n'y aura aucun recul de qualité sur aucune des dimensions. Mais ... il n'y a pas de nom de marque et le facteur d'impact derrière les journaux en ligne.
Cela résume le tout: http://scatter.wordpress.com/2011/06/28/stata-12/ . Stata est préféré dans les domaines de l'économie et des politiques, et plus j'apprends le SAS, plus j'aime Stata.
Je travaille comme programmeur SAS depuis sept ans. À côté de moi, un collègue programme SAS depuis plus longtemps que je n’ai vécu. Comme indiqué ci-dessus, SAS repose sur une énorme inertie / héritage; mais SAS, tout comme R, est un moyen d’obtenir un moyen, pas le moyen lui-même.
SAS est extrêmement efficace pour l’accès séquentiel aux données et l’accès à la base de données via SQL est extrêmement bien intégré. Les PROC sont très bien documentés, mais malheureusement pas entièrement standardisés avec la notation (PROC OPTMODEL et IML en sont deux exemples). C'est un peu maladroit quand il s'agit d'écrire du code compliqué, et pas aussi élégant pour du code parallèle. J'ai également constaté que l'importation de fichiers csv était parfois une source de grande misère et je préférais simplement le transférer dans R puis dans une base de données.
Bien que SAS ait des interfaces avec des objets partagés et des dll, vous n’obtenez pas un bon accès à aucun fichier d’en-tête ou à quelque chose du genre, et la distribution de code n’est pas non plus disponible par le biais de packages heureux.
Il y a cependant peu d’inquiétude à propos de quelqu'un incluant dans votre code un paquet ésotérique, aujourd'hui disparu ou cassé, que vous devez maintenant maintenir, et la qualité du code dans SAS a tendance à être uniformément excellente (le code R est également excellent, et aussi librement. disponible pour tout le monde).
Comme mentionné précédemment, SAS est également extrêmement coûteux, mais c’est un bon outil à utiliser lorsque je sais qu’il existe une procédure en boîte qui répond bien à mes besoins.
R + SAS + mysql avec un peu de perl à coller ensemble fonctionne à merveille :)
dplyr
bibliothèque - il traduit littéralement la syntaxe R / dplyr en SQL et appelle la base de données. Vous pouvez décider des opérations à effectuer sur le serveur de base de données et de celles utilisant localement la même syntaxe: cran.r-projet. org / web / packages / dplyr / vignettes / database.html
J'utilise donc à la fois R et SAS - certes dans le monde universitaire - mais il y a quelques raisons pour lesquelles j'ai tendance à aller parfois vers SAS:
Personne n'a suggéré que la raison pour laquelle il est préféré est un simple idiotie. Voici deux citations que j'ai récemment rencontrées:
"Il était hors de question d'utiliser un logiciel libre tel que R - nous ne pourrions garantir un résultat parfaitement reproductible"
et
"Nous ne pourrions fournir aucune assistance à ce sujet car il s'agit d'un logiciel open source"
Deux minutes avec ces personnes leur montreraient à quel point ils se trompent.
Un problème ne semble pas avoir été abordé explicitement: couvrir le cul. Si vous partez avec SAS et que les choses explosent, le décideur peut toujours dire qu'il a acheté un logiciel à la pointe de la technologie, et comment a-t-il pu savoir qu'il se briserait? S'il décidait d'aller avec R, cet argument serait plus difficile à faire. Oui, cela est lié à l'argument d'inertie déjà mentionné ici.
Il y a quelques décennies, ils disaient que "personne n'a jamais été congédié pour avoir acheté IBM" , ce qui a été appelé la plus grande expression marketing de tous les temps.
En tant qu'utilisateur de SAS et de R, je dirais que la principale raison pour laquelle nous utilisons SAS sur R (quand nous le faisons) est sa capacité de traitement séquentiel. Nous n'avons besoin que de machines ne disposant pas de plus de 4 Go de RAM pour traiter 15 ans de données. J'aurais besoin d'une machine beaucoup plus grosse utilisant le stock R et je n'ai pas essayé de migrer le code SAS pour qu'il fonctionne avec Revolution R.
À compter de 2015, les actuaires âgés de moins de 35 ans préfèrent utiliser R - les manuels utilisent à la fois le code R et le code SAS. Les actuaires plus âgés n’ont jamais appris à utiliser R, ont préféré SAS et n’utilisent pas R. La proportion d’actuaires codant réellement dans SAS diminuera.
Si vous effectuez une recherche dans Google scholar pour trouver des articles faisant référence à SAS, vous obtiendrez 550 publications stables par an au cours des dernières années. Si vous recherchez des articles utilisant R ("R Foundation for Statistical Computing"), ils étaient 25 100 en 2014 et 16 700 à la mi-juillet 2015. Tracer le taux - il grandit très vite!
SAS ne s’est pas servi pendant quelques années en exigeant des universités des redevances importantes - ce qu’elles ont inversé depuis -, mais il est trop tard, de nombreuses universités se sont reconverties dans l’enseignement utilisant R et non SAS.
Les nouvelles techniques statistiques sont publiées dans des articles en conjonction avec un package R. Certaines techniques qui sont dans la base R depuis des années ne sont toujours pas apparues dans SAS. Vous pouvez maintenant utiliser R depuis SAS.
En résumé, les choses changent et changent rapidement.
SAS est utilisé dans l'industrie pharmaceutique parce que c'est ce que la FDA utilise et aime. Il y a quelques raisons sérieuses cependant. Les résultats sont traçables et la sortie est horodatée. Les statisticiens de la FDA peuvent vérifier ce que vous obtenez. C'est très bon pour la gestion de base de données et c'est un logiciel fiable. Bien sûr, on peut affirmer que de nombreux attributs de SAS sont présents dans d’autres progiciels, notamment R et que SAS est coûteux. Néanmoins, je pense que toute personne souhaitant devenir un statisticien appliqué et travaillant dans l’industrie aura intérêt à au moins apprendre à programmer dans SAS. Utilisez R ou STATA si vous préférez, mais connaissez SAS. Lorsque vous travaillez pour une entreprise qui veut que vous utilisiez SAS, elle paiera pour la licence.
Je pense que cette citation d'Anne H. Milley résume ce que beaucoup de gens pensent de R:
Nous avons des clients qui construisent des moteurs pour les avions. Je suis heureux qu'ils n'utilisent pas de gratuiciel lorsque je suis sur un jet.
Malheureusement, je pense que cette idée fausse (gratuite = inférieure) est courante dans le grand public.
(légèrement en dehors du sujet): voir l’autre point: certains des avantages de R dans le monde universitaire ne s’appliquent pas à l’industrie.
Par exemple, dans le monde universitaire, il est clairement avantageux de dire aux étudiants d’aller chercher le logiciel et de travailler à la maison. Dans l'industrie, vous n'êtes généralement pas censé emporter de données à la maison ...
Vous n'êtes pas non plus censé essayer quelques choses (MC), télécharger des tonnes de paquets (même s'ils sont réputés et testés), utiliser des méthodes de pointe. Vous devez plutôt vous en tenir aux méthodes et au code utilisés depuis des années et dont le comportement est connu depuis des siècles. Vous ne gagneriez pas beaucoup de mérite académique avec cela.
Et bien sûr, comme cela a été mentionné: personne ne risquera de reprendre toutes sortes d’approbations réglementaires pour changer en R. De ce que j’ai vu, c’est moins de R et plus sur les coûts énormes + les efforts nécessaires pour obtenir une approbation réglementaire. .
Bien que cela soit assez pessimiste, ma réponse serait que le type de personnes qui prennent des décisions radicales dans des sociétés telles que "nous venons d'utiliser SAS" sont également celles qui ne font pas confiance à ce qu'elles ne comprennent pas et qui en pensent automatiquement la valeur. de quelque chose est directement proportionnelle à la quantité d'argent que vous dépensez dessus. Cela les amène à préférer payer SAS, plutôt que de passer du temps à chercher des alternatives.
Pourquoi une grande entreprise pharmaceutique voudrait-elle même passer de SAS à R? SAS coûte des millions, mais ce n'est rien pour une société pharmaceutique. Cependant, convertir tous les systèmes de reporting stables de SAS en R coûterait 50 à 100 fois plus cher.
SAS a un système de support phénoménal: chaque fois que j'avais besoin d'aide, ils étaient en mesure de le fournir en quelques heures.
Et qu'est-ce que R a exactement que SAS n'a pas: 1) de meilleurs graphiques ... ok, c'est un gros mais les graphiques ne sont pas tout. En plus de R, vous pouvez toujours utiliser un outil supplémentaire pour créer des graphiques sympas. SAS n’est pas si mal en matière de graphisme 2) un langage de programmation moderne et plus efficace. Beaucoup d'utilisateurs de SAS ne sont pas des programmeurs et ne se soucient pas d'utiliser un langage cool. Ils veulent juste pouvoir analyser les données.
J'adore R, mais il serait insensé pour une grande entreprise de se convertir à SAS. Il pourrait être logique pour les petites entreprises si
Il y a plusieurs avantages principaux, sans ordre particulier
J'évite volontairement l'utilisation de termes péjoratifs tels que "héritage" ou "habitude" De nombreuses entreprises utilisent SAS depuis 30 ou 40 ans et disposent de millions de lignes de code de travail. De plus, tous les avantages d’une base de code stable avec des millions d’utilisateurs dans un domaine où de petites erreurs peuvent être critiques. C'est la même raison pour laquelle les versions Unix sont toujours populaires bien qu'Unix ait plus de 40 ans et soit obsolète à certains égards. Enfin, il existe une vaste communauté de professionnels SAS expérimentés, habitués à résoudre les problèmes de l'entreprise.
Les entreprises disposent de nombreuses sources de données différentes, basées sur différents types de systèmes, ainsi que, dans de nombreux cas, de multiples environnements d’exploitation. R n’a acquis que très récemment des capacités extrêmement rudimentaires qui ne peuvent pas être gardées en mémoire. Comparez cela à la capacité de SAS de prendre en charge le traitement natif, optimisé, en base de données pour terradata, pour ne citer qu'un exemple. Dans la plupart des situations réelles, les aspects les plus difficiles de l’analyse concernent les données et l’environnement d’exploitation. (Vous devez exécuter le code de scoring de modèle développé par Windows sur l'ordinateur central? Avec SAS, pas de problème. Avec R, vous n'avez pas de chance.) R ne résout aucun de ces problèmes.
Un utilisateur SAS peut être raisonnablement certain que chaque module de code a été testé par des personnes qualifiées. Il n'est pas nécessaire de consacrer du temps et des efforts à apprendre la provenance du code ou à le valider de manière indépendante. En outre, si vous rencontrez des problèmes de toutes sortes, une assistance solide (allant de quelque chose d'aussi simple que la documentation à quelque chose d'aussi détaillé que l'exploration détaillée des résultats inattendus ou du comportement d'une méthode sophistiquée) permet à l'utilisateur de prendre le téléphone et d'obtenir de l'aide.
La langue désactive certaines personnes car elle diffère de la programmation moderne par rapport aux langues modernes. Cela dit, le langage est de haut niveau, puissant, expressif et complet. En bref, une fois que vous l’apprenez, le travail est fait. Pour les entreprises, l’élégance de la solution n’est pas un argument de vente.
Service client.
Une fois, j’ai eu une conversation avec un ami qui travaillait dans une entreprise spécialisée dans l’installation de serveurs, puis il m’a expliqué pourquoi les grandes entreprises optaient toujours pour les produits Microsoft plutôt que de devenir open source. L’avantage de Microsoft par rapport à ses concurrents open source est le support client. Si quelque chose ne va pas avec le produit, la société peut appeler Microsoft. Les grandes entreprises bénéficient même d’un support personnalisé. Ce n'est pas le cas avec les logiciels open source.
Je pense que c’est exactement la même raison pour laquelle SAS obtient la priorité sur R.
Qu'en est-il de Frontends? Quel est l'équivalent de R pour SAS Enterprise Guide, Web Report Studio ou Enterprise Miner? Edition: Ces outils permettent à un utilisateur ne faisant pas de programmation d’utiliser un DATA WAREHOUSE, sans connaissance de la technologie sous-jacente. Ce ne sont pas principalement des outils pour utiliser SAS en tant que tel. Les interfaces graphiques R ne sont que des IDE pour le système / langage R, autant que je sache. Ils ne peuvent pas aider les utilisateurs non techniques qui souhaitent obtenir des informations et des informations de la part du DWH.
J'ai déjà travaillé pour une société de conseil qui avait aidé SAS à un grand fabricant de puces de la Silicon Valley. Notre personne de contact de la société nous a dit qu’une autre société lui avait proposé de lui donner exactement le même conseil, en utilisant un logiciel différent qui couvrait tous les domaines couverts par SAS et qui coûterait à la société une fraction de celle facturée par SAS. ( 30 000 dollars contre 1 000 000 dollars ). La personne de contact a envisagé la marche à suivre et a décidé de ne pas informer son chef de l'offre, car il craignait d'être licencié pour avoir utilisé SAS et de ne pas envisager d'autres solutions moins coûteuses. Au lieu de cela, il a insisté pour que notre société de conseil accorde à leur société une importante réduction de nos frais de conseil. Notre société a accepté.
Je ne pense pas que la sécurité des applications ait été mentionnée. Cette question a été soulevée dans Stack Overflow mais a été abandonnée car elle était hors sujet.
Je collabore avec le Conseil national suédois de la santé et du bien-être qui utilise SAS. Quand j'ai parlé à leurs statisticiens (qui, comme R), ils prétendent que leurs informaticiens préfèrent SAS car ils ne font pas confiance aux packages téléchargés dans R. Ma femme travaille également dans SAS et son institution prétend souvent avoir le même problème ...
J'aimerais voir des commentaires sur cette question. J'ai fait une recherche rapide mais je n'ai trouvé aucune bonne référence ...
Si j’ai compris que c’était le plus convaincant, c’est que SAS dispose d’une bibliothèque étendue de modules spécifiques aux entreprises, que les utilisateurs de ces secteurs utilisent tous. Il s’agit donc d’un blocage.
Mais aussi, SAS a répondu aux besoins de ces segments verticaux de l’entreprise et les a optimisés en fonction du sens suivant: «l’utilisateur n’a pas à faire beaucoup de travail supplémentaire pour obtenir les résultats». Je ne suis pas un utilisateur SAS. Cela ne constitue donc pas une défense partiale de la stratégie commerciale de SAS.
En tant que grand produit commercial de SAS, les vendeurs rémunérés déploient des efforts vigoureux et coordonnés pour le promouvoir. Je ne pense pas que les efforts visant à promouvoir l'utilisation de R puissent aller dans ce sens.
Je regarde les logiciels Open Source ou sous licence comme celui-ci, que ce soit SAS ou autre chose. Mon service informatique est là pour fournir un service à notre entreprise. La société ne gagne pas d’argent grâce aux services informatiques. L'entreprise a un chiffre d' affaires de $ de 16 milliards. Il en coûte environ $ 200 millions par an. Si l' argent était la question que je réduirait les coûts, mais si j'économise 10% ( $ 20 millions) de mon budget, sera l'avis de l' entreprise? Vont-ils simplement réduire mon budget l'année prochaine? Si le service informatique échoue, l’entreprise perd des revenus, le montant de la nature de la défaillance variera. Certaines parties de l'entreprise peuvent ne plus générer de revenus. Si un produit comme SAS échoue, je peux intenter un recours en vertu d’un contrat. Si un produit OSS échoue, je ne peux pas. Je ne récupérerai pas mes dollars16 milliards, mais je vais peut-être en récupérer, et de manière réaliste avec SAS, il est peu probable que vous perdiez le lot. La différence de prix par rapport au coût doit justifier tout risque supplémentaire perçu pour l’entreprise. Parfois, il est moins coûteux de rester avec SAS que de se recycler. Parfois, les problèmes sont plus prioritaires et les entreprises restent donc avec SAS. Certaines entreprises n’ont pas besoin de toutes les fonctionnalités, auquel cas les alternatives sont viables. Certains n'ont pas besoin de soutien et encore une fois, les alternatives sont viables. Si vous répondez aux besoins de votre entreprise, les deux options sont valables. Si vous souhaitez apporter un soutien à une entreprise, vous devez examiner le coût total de possession sur 5 à 10 ans, la capacité de recruter des experts dans les outils, la stabilité du produit. vous n’avez donc pas besoin de tout réécrire à chaque nouvelle version, les formations disponibles,
Quelques raisons que je n'ai pas vu mentionnées:
Meilleure documentation. La documentation SAS est commentée, la documentation R est succincte. De nombreuses entreprises peuvent préférer une documentation détaillée.
Meilleurs messages d'erreur. Les messages d'erreur de R semblent souvent conçus pour prouver que la personne qui écrit le message est plus intelligente que celle qui le lit.
Support technique. SAS dispose du meilleur support technique que je connaisse, fourni par SAS. Vous pouvez obtenir de l'aide avec R, mais cette aide est dispersée à différents endroits et n'est pas toujours disponible. Les personnes sur les différents sites qui fournissent de l'aide avec R sont des volontaires - et les volontaires ne sont pas obligés d'aider. Les techniciens du support technique SAS sont payés pour faire ce qu’ils font - et ils le font bien. Non seulement ils le font bien, mais ils font poliment un trait qui n’est souvent pas présent dans toutes les communautés R (mon préféré? "J'ai reçu de l’aide en tapant 'aide', pourquoi ne pas essayer de taper 'aide'?")
Je pense que l'angle hérité peut être important pour la raison suivante. Une organisation embauche une personne, appelez-la personne X. Il s’agit d’un gourou de l’informatique, d’un assistant, etc. Ils construisent des programmes / outils SAS géniaux / etc. Ils sont si bons que les autres membres de l’organisation ne se sentent pas obligés de comprendre le fonctionnement des programmes. Il est si facile d’appuyer sur un bouton et tout fonctionne (les boîtes noires magiques).
La personne X quitte l’organisation. Malheureusement, les connaissances de la personne X quittent l'organisation (la documentation et la gestion des connaissances n'étaient pas hiérarchisées, les programmes de travail l'étaient). Ils sont remplacés par Y. Y est formidable avec R mais n’a aucune idée de SAS et n’a donc aucune idée du fonctionnement réel des programmes SAS. Il y a une courbe d'apprentissage énorme pour même comprendre ce queest nettement supérieur à une licence d'un an pour SAS. Je m'attends à ce que SAS fasse une analyse de ce compromis et la laisse influencer la manière dont elle fixe les droits de licence (eh bien, je le ferais si je travaillais chez SAS). Notez également que les procédures de traçage SAS sont bien meilleures qu’il ya une dizaine d’années (par exemple, proc sgplot vs proc plot). coïncidence que R ait fait du bon tracé en premier? Je crois que non! Cela réduit efficacement l'efficacité de la commutation car le tracé n'est plus très différent - R est toujours meilleur, mais pas assez pour changer ...
Pour les statistiques industrielles, il existe des responsables de l'assurance de la qualité qui n'ont (généralement) aucune formation en programmation, en statistique ou en sciences et qui auditent des statisticiens, des programmeurs et des scientifiques. Ils veulent savoir: "Comment savez-vous que ce que vous faites est bien?" et "Si c'est faux, comment pouvons-nous blâmer quelqu'un et comment vont-ils payer pour cela?".
La licence GNU / GPL Copyleft est livrée avec un texte pré-enregistré indiquant: "R est un logiciel libre et ne contient absolument aucune garantie" en texte en majuscules exactement comme je l’ai écrit. C'est scandaleux. Quand une personne de qualité lit ce texte, elle discrédite fondamentalement R. Je veux dire, si un produit est bon, cela vaut la peine d'ajouter une garantie non? De tels produits commerciaux nous ont laissé croire. En fait, c’est finalement la FDA qui a déclaré qu’elle accepterait les demandes réglementaires en R reflétant un changement radical dans l’industrie du logiciel. (Notez que cette déclaration vient après la date de publication initiale de la question.)
Pour quelqu'un qui ne connaît rien aux ordinateurs, les scénarios imaginaires de sécurité, d'irreproductibilité et de graves erreurs scientifiques sont illimités du fait de cette absence absolue de garantie. Nous convenons tous que les erreurs peuvent avoir des coûts catastrophiques. Pour votre licence SAS, SAS dispose d’experts capables d’expliquer leur logiciel aux auditeurs. Dans le cas impossible, où SAS causerait un tel problème, ils pourraient être tenus responsables des amendes et des sanctions (ils ont également suffisamment d’argent pour que les avocats puissent être totalement exonéré dans un tel cas). La charge et les coûts liés à la présentation d’un dossier par un analyste / programmeur pour R correspondent essentiellement à une licence SAS. Non pas que la programmation dans SAS vous exonère complètement du fardeau accablant de la conformité à la qualité!
Donc, en gros, je dirais que le contentieux a joué un rôle de premier plan dans la nécessité d’un logiciel de licence coûteux.