Ho imparato R ma sembra che le aziende siano molto più interessate all'esperienza SAS. Quali sono i vantaggi di SAS rispetto a R?
Ho imparato R ma sembra che le aziende siano molto più interessate all'esperienza SAS. Quali sono i vantaggi di SAS rispetto a R?
Risposte:
Penso che ci siano diverse questioni (in ordine crescente di possibile validità):
Personalmente, penso solo che il n. 3 abbia un merito legittimo, sebbene ci siano approcci ai big data sviluppati con R. I problemi con il n. 1 parlano da soli. Penso che il n. 2 ignori diversi fatti: c'è qualche controllo che continua con R, molti dei pacchetti principali sono scritti da alcuni dei più grandi nomi nelle statistiche e ci sono stati studi che confrontano l'accuratezza dei diversi software statistici e R ha sicuramente stato competitivo.
lme4
mailing list che i confronti con SAS escono abbastanza regolarmente. Ma è impossibile sapere se dovremmo anche fare simili confronti. Senza accesso alla fonte, dobbiamo dare per scontato a quelle aziende che i risultati prodotti dal loro software sono effettivamente validi. Francamente, preferisco avere la possibilità di rivedere il codice software che utilizzo.
Oltre alle buone risposte finora, aggiungerei il fattore imbarazzo. Se lo scorso anno hai speso centinaia di migliaia di dollari per il supporto SAS e SAS e non proponi di spendere nulla per R, con prezzi di supporto estremamente bassi (Revolution, ecc.), Qualcuno della catena chiederà perché. È stato un errore spendere così tanti soldi l'anno scorso quando R esisteva l'anno scorso? O è un errore eliminare software professionale per qualcosa creato da un gruppo di volontari?
Una volta che il problema è stato inquadrato in quel modo, è una proposta perdente, quindi forse meglio non risolverlo.
Oltre a ciò che il gung ha correttamente identificato qui, il problema più grande nel mondo aziendale è l'eredità. E quando hai un codice di produzione di buona qualità che è noto per fare il lavoro, non lo cambi. SAS era in circolazione fin dagli anni '70 e all'epoca era l'unico linguaggio statistico di scripting efficace, secondo gli standard. La quantità di codice di produzione accumulata da allora in SAS nel settore farmaceutico e del governo è inimmaginabile, decine di migliaia di anni umani. Riscriverlo in R o Stata richiederebbe alcuni anni, il codice risultante diventerà più flessibile, più efficiente, più trasparente, più facile ed economico da mantenere, ma nessuno pagherà per tale refactoring. (La mia esperienza in questo senso è che il mio codice Stata è generalmente tre volte più corto; una volta ho avuto un progetto che convertiva il codice SPSS in Stata dove l'ho reso circa 20 volte più corto.
In un certo senso, questa è una storia simile con gli editori accademici: stanno cavalcando una marea di utenti finali che mantengono le loro iscrizioni per necessità; un'università senza abbonamento a Nature non è in realtà un'università. La pubblicazione gratuita tramite società professionali lo renderà più economico, le persone preparano le loro presentazioni in LaTeX in questi giorni, quindi sono pronte per la fotocamera e le stesse persone forniranno la revisione tra pari, quindi non ci sarà una battuta d'arresto di qualità su nessuna delle dimensioni. Ma ... non c'è un marchio e il fattore di impatto dietro le riviste online.
Questo riassume tutto: http://scatter.wordpress.com/2011/06/28/stata-12/ . Stata è preferito nei circoli economici e politici, e più imparo SAS, più mi piace Stata.
Ho lavorato con efficacia come programmatore SAS negli ultimi sette anni, accanto a me un collega ha programmato SAS più a lungo di quanto non fossi vivo. Come notato qui, c'è una grande quantità di inerzia / eredità dietro SAS; ma SAS proprio come R è un modo per un mezzo, non il mezzo stesso.
SAS è estremamente efficiente nell'accesso sequenziale ai dati e l'accesso al database tramite SQL è estremamente ben integrato. I PROC sono molto ben documentati, ma sfortunatamente non completamente standardizzati con la notazione (PROC OPTMODEL e IML sono due esempi). È un po 'goffo quando si tratta di scrivere codice complicato e non è elegante per il codice parallelo. Ho anche scoperto che l'importazione di file CSV è una fonte di grande sofferenza a volte e preferisco scaricarlo prima su R e poi su un database.
Sebbene SAS abbia interfacce per oggetti condivisi e DLL, non si ha un buon accesso a qualsiasi file di intestazione o qualcosa del genere, e anche la distribuzione del codice non è disponibile attraverso pacchetti felici.
C'è comunque poca preoccupazione per qualcuno che include un pacchetto esoterico ormai defunto o rotto nel codice che ora è necessario mantenere, e la qualità del codice in SAS tende ad essere uniformemente eccellente (anche il codice R core è eccellente, e anche liberamente disponibile a chiunque).
Come accennato in precedenza, SAS è anche estremamente costoso, ma è un buon strumento a cui vado quando so che esiste una procedura fissa che funziona bene per le mie esigenze.
R + SAS + mysql con un po 'di perl da incollare insieme funziona incredibilmente :)
dplyr
libreria: traduce letteralmente la sintassi R / dplyr in SQL e chiama il database, puoi decidere quali operazioni fare sul server db e quali localmente usando la stessa sintassi: cran.r-project. org / web / pacchetti / dplyr / vignettes / d database.html
Quindi uso sia R che SAS - certamente nel mondo accademico - ma ci sono un paio di ragioni che a volte tendo a dirigermi verso SAS:
Nessuno ha suggerito che il motivo per cui è preferito sia la semplice idiozia. Ecco due citazioni che ho trovato di recente:
"L'uso di software open source come R era fuori discussione - non potevamo garantire un risultato perfettamente ripetibile"
e
"Non saremmo in grado di fornire alcun supporto per questo in quanto è un software open source"
Due minuti con queste persone avrebbero mostrato loro quanto sbagliano.
Una questione non sembra essere stata affrontata in modo esplicito: la copertura del culo. Se vai con SAS e le cose esplodono, il decisore può sempre dire che ha acquistato un software all'avanguardia e come poteva sapere che si sarebbe rotto? Se decidesse di andare con R, questa discussione sarà più difficile da fare. Sì, questo è legato all'argomento inerzia già menzionato qui.
Qualche decennio fa, dicevano che "nessuno ha mai licenziato per aver acquistato IBM" , che è stata definita la più grande frase di marketing di sempre.
Come utente di SAS e R, direi che il motivo principale per cui utilizziamo SAS su R (quando lo facciamo) è la sua capacità di elaborazione sequenziale. Abbiamo solo bisogno di macchine con non più di 4 GB di RAM per elaborare dati di 15 anni. Avrei bisogno di una macchina molto più grande usando lo stock R e non ho provato a migrare il codice SAS per funzionare con Revolution R.
A partire dal 2015, gli attuari di età inferiore ai 35 anni preferiscono usare R - i libri di testo usano sia il codice R che SAS. Gli attuari più vecchi non hanno mai imparato a usare R e preferiscono SAS e non usano R. La percentuale di attuari che effettivamente codifica in SAS diminuirà.
Se cerchi uno studioso di Google per i documenti che fanno riferimento a SAS, negli ultimi anni troverai pubblicazioni costanti di 550 ish all'anno. Se cerchi documenti utilizzando R ("R Foundation for Statistical Computing"), nel 2014 c'erano 25.100 e alla metà di luglio 2015 ci sono 16.700. Tracciare il tasso - sta crescendo molto velocemente!
SAS non si è aiutato per alcuni anni chiedendo grandi tasse di licenza alle università - che hanno da allora invertito - ma ora è troppo tardi molte università si sono convertite all'insegnamento usando R e non SAS.
Nuove tecniche statistiche sono pubblicate in articoli insieme a un pacchetto R. Alcune tecniche che sono state nella base R per anni non sono ancora apparse in SAS. Ora puoi usare R dall'interno di SAS.
In sintesi, le cose stanno cambiando e cambiando rapidamente.
Nell'industria farmaceutica SAS viene utilizzato perché è ciò che la FDA usa e piace. Ci sono alcuni motivi seri però. I risultati sono tracciabili e l'output ha un timestamp. Gli statistici della FDA possono controllare ciò che ottieni. È ottimo per la gestione dei database ed è un software affidabile. Naturalmente si può sostenere che molti degli attributi di SAS siano presenti in altri pacchetti software, tra cui R e SAS, è costoso. Penso comunque che chiunque voglia diventare uno statistico applicato che lavora nel settore sarà meglio per almeno imparare a programmare in SAS. Usa R o STATA se preferisci ma conosci SAS. Quando lavori per un'azienda che desidera che tu usi SAS, pagheranno le licenze.
Penso che questa citazione di Anne H. Milley riassuma il modo in cui molte persone pensano di R:
Abbiamo clienti che costruiscono motori per aeromobili. Sono felice che non stiano usando il freeware quando salgo su un jet.
Sfortunatamente, penso che questo malinteso (gratuito == inferiore) sia comune al grande pubblico.
(leggermente fuori tema): osservandolo dall'altra parte: alcuni dei vantaggi che la R ha nel mondo accademico non si applicano all'industria.
Ad esempio, nel mondo accademico è un chiaro vantaggio se puoi dire agli studenti di andare a prendere il software e lavorare a casa. Nell'industria, di solito non dovresti portare a casa i tuoi dati ...
Né dovresti provare alcune cose (TM), scaricare tonnellate di pacchetti (anche se affidabili e testati), utilizzare metodi all'avanguardia. Invece di solito ci si aspetta di attenersi a metodi e codice che sono stati usati per anni e in cui il comportamento è noto da secoli. Con questo non vinceresti molti meriti accademici.
E ovviamente, come è stato menzionato: nessuno rischierà di rifare ogni tipo di approvazione normativa per il passaggio a R. Da quello che ho visto è meno su R e più sugli enormi costi + lavoro per ottenere l'approvazione normativa .
Sebbene sia abbastanza pessimista, la mia risposta sarebbe che il tipo di persone che prendono decisioni radicali in società come "usiamo semplicemente SAS" sono anche il tipo di persone che non si fidano di ciò che non capiscono e pensano automaticamente il valore di qualcosa è direttamente proporzionale alla quantità di denaro che spendi per esso. Questo li porta a preferire pagare per SAS piuttosto che passare il tempo a indagare sulle alternative.
Perché una grande azienda farmaceutica vorrebbe persino convertirsi in R da SAS? SAS costa milioni ma non è niente per un'azienda farmaceutica. Tuttavia, la conversione di tutti i sistemi di reporting stabili da SAS a R costerebbe 50-100 volte di più.
SAS ha un sistema di supporto fenomenale: ogni volta che avevo bisogno di aiuto erano in grado di fornirlo in poche ore.
E cosa esattamente ha R che SAS non: 1) grafica migliore ... ok, è grande ma la grafica non è tutto. inoltre R può sempre essere utilizzato uno strumento aggiuntivo per creare dei grafici accattivanti e SAS non è male quando si tratta di grafica 2) linguaggio di programmazione moderno e più efficiente. Molti utenti SAS non sono programmatori e non si preoccupano di usare un linguaggio cool. Vogliono solo essere in grado di analizzare i dati.
Adoro la R ma sarebbe folle per una grande azienda convertirsi in SAS. Potrebbe avere senso per le piccole imprese però
Ci sono molti vantaggi principali, in nessun ordine particolare
Sto volutamente evitando l'uso di termini peggiorativi come "legacy" o "abitudine". Molte aziende usano SAS da 30 o 40 anni e hanno milioni di righe di codice funzionante. Inoltre, ci sono tutti i vantaggi di una base di codice stabile con milioni di giorni di utenti in un'area in cui piccoli errori possono essere critici. Questo è lo stesso motivo per cui i sapori Unix sono ancora popolari anche se Unix ha più di 40 anni e in qualche modo è obsoleto. Infine, esiste una vasta comunità di professionisti SAS esperti che sono abituati a risolvere i problemi aziendali
Le aziende hanno molte origini dati diverse, basate su diversi tipi di sistemi, nonché in molti casi, ambienti operativi multipli. Solo di recente R ha ottenuto alcune capacità estremamente basilari per gestire più di quanto possa essere tenuto in memoria. Confrontalo con la capacità di SAS di supportare l'elaborazione nativa, ottimizzata e in-database per terradata, per citare solo un esempio. Nella maggior parte delle situazioni del mondo reale, la parte più difficile dell'analisi riguarda i dati e l'ambiente operativo. (è necessario eseguire il codice di valutazione del modello sviluppato da Windows sul mainframe? Con SAS, nessun problema. Con R, sei sfortunato.) R non risolve nessuno di questi problemi.
Un utente SAS può essere ragionevolmente certo che ogni modulo di codice è stato testato da personale qualificato. Non è necessario dedicare tempo e sforzi all'apprendimento della provenienza del codice o alla sua validazione indipendente. Inoltre, se si incontrano problemi di qualsiasi tipo, assistenza affidabile (da qualcosa di basilare come la documentazione a qualcosa di così completo come l'esplorazione dettagliata di risultati imprevisti o il comportamento di un metodo sofisticato) l'utente può prendere il telefono e ottenere aiuto.
La lingua disattiva alcune persone perché è diversa dalle lingue moderne per la programmazione generale. Detto questo, il linguaggio è di alto livello, potente, espressivo e comprensivo. In breve, una volta appreso, fa il lavoro. Per le aziende, l'eleganza della soluzione non è molto importante.
Servizio Clienti.
Una volta ho avuto una chiacchierata con un amico che lavorava in un'azienda specializzata nell'installazione di server, e poi mi ha spiegato perché le grandi aziende optano sempre per i prodotti Microsoft piuttosto che per andare all'open source. Il vantaggio che Microsoft ha rispetto ai suoi concorrenti open source è l'assistenza clienti. Se qualcosa va storto con il prodotto, la società può chiamare Microsoft, le grandi aziende hanno persino un supporto personalizzato per loro. Non così con il software open source.
Penso che sia esattamente la stessa ragione per cui SAS ha la precedenza su R.
E i frontend? Qual è l'equivalente di R per la SAS Enterprise Guide, Web Report Studio o Enterprise Miner? Modifica: questi strumenti consentono a un utente non programmatore di utilizzare un MAGAZZINO DATI, senza conoscere la tecnologia sottostante. Non sono principalmente strumenti per l'uso di SAS in quanto tali. Le GUI R sono solo IDE per il linguaggio / sistema R, AFAIK. Non possono fornire assistenza all'utente non tecnico che desidera ottenere informazioni e approfondimenti dal DWH.
Una volta ho lavorato per una società di consulenza che ha fornito assistenza SAS a un grande produttore di chip nella Silicon Valley. Il nostro referente presso l'azienda ci ha detto di aver ricevuto un'offerta da un'altra società per fornire loro la stessa consulenza, utilizzando un software diverso che copre tutte le aree coperte da SAS e che costerebbe all'azienda una frazione di ciò che SAS le stava addebitando ( $ 30.000 contro $ 1.000.000). La persona di contatto ha considerato cosa fare e ha deciso di non informare il proprio capo dell'offerta perché temeva di essere licenziato per aver utilizzato SAS in primo luogo e non prendere in considerazione alternative più economiche. Invece, ha insistito sul fatto che la nostra società di consulenza desse alla loro azienda una grossa interruzione della nostra commissione di consulenza. La nostra compagnia è d'accordo.
Non credo sia stata menzionata la sicurezza delle applicazioni. Questa domanda è stata sollevata in Stack Overflow ma è stata eliminata poiché era fuori tema.
Collaboro con il Consiglio nazionale svedese per la salute e il benessere che utilizzano SAS. Quando ho parlato con i loro statistici (che come R) affermano che i loro IT preferiscono SAS poiché non si fidano dei pacchetti scaricati in R. Mia moglie lavora anche in SAS e la sua istituzione spesso afferma lo stesso problema ...
Mi piacerebbe vedere alcuni commenti su questo problema. Ho fatto una ricerca veloce ma non ho trovato buoni riferimenti ...
Il motivo per cui ho capito di essere il più convincente è che SAS ha una vasta libreria di moduli specifici di business verticali che le persone in questi verticali usano tutti, quindi è un po 'un lock-in.
Ma anche che SAS ha affrontato le esigenze di questi segmenti verticali negli affari e ottimizzato attorno alle loro esigenze - ottimizzato nel senso di "l'utente non deve fare molto lavoro extra per ottenere i risultati". Non sono un utente SAS, quindi non si tratta di una difesa parziale della strategia aziendale SAS.
Essendo il grande prodotto commerciale di SAS, c'è uno sforzo forte e coordinato da parte di venditori pagati per promuoverlo. Non penso che gli sforzi per promuovere l'uso di R possano eguagliarli.
Guardo Open Source o software con licenza come questo, sia esso SAS o qualsiasi altra cosa. Il mio dipartimento IT è lì per fornire un servizio alla nostra attività. La società non guadagna soldi dall'IT, solo dai supporti IT aziendali. L'azienda ha un fatturato annuo di $ 16 miliardi. L'IT costa circa $ 200 milioni all'anno. Se il problema fosse il denaro, ridurrei i costi, ma se risparmiassi il 10% ( $ 20 milioni) del mio budget, l' avrebbero notato gli affari? Ridurranno il mio budget l'anno prossimo? Se l'IT fallisce, l'azienda perde entrate, quanto varia a seconda della natura del fallimento. Alcune parti dell'azienda potrebbero non guadagnare più entrate. Se un prodotto come SAS fallisce, posso fare causa in base a un contratto. Se un prodotto OSS fallisce, non posso. Non recupererò i miei $16 miliardi, ma potrei recuperarne un po ', e realisticamente con SAS, è improbabile che tu perda il lotto. La differenza di prezzo rispetto al costo deve giustificare qualsiasi ulteriore rischio percepito per l'azienda. A volte è più economico restare con SAS che riqualificarsi. A volte ci sono problemi con priorità più alta, quindi le aziende rimangono con SAS. Alcune aziende non necessitano della piena funzionalità, nel qual caso sono possibili alternative. Alcuni non hanno bisogno del supporto e di nuovo le alternative sono praticabili. Se si soddisfano i requisiti aziendali, entrambe le opzioni sono valide, se si desidera fornire supporto a un'azienda, è necessario esaminare il costo totale di proprietà per 5-10 anni, la capacità di assumere esperti negli strumenti, la stabilità del prodotto quindi non devi riscrivere tutto con ogni nuova versione, i corsi di formazione disponibili per le abilità,
Alcuni motivi che non ho visto menzionati:
Migliore documentazione. La documentazione SAS è dettagliata, la documentazione R è concisa. Molte aziende potrebbero preferire una documentazione dettagliata.
Messaggi di errore migliori. I messaggi di errore di R sembrano spesso progettati per dimostrare che la persona che scrive il messaggio è più intelligente della persona che lo legge.
Supporto tecnico. SAS ha il miglior supporto tecnico che abbia mai incontrato, fornito da SAS. Puoi ottenere aiuto con R, ma quell'aiuto è sparso in luoghi diversi e non è sempre disponibile. Le persone nei vari siti che forniscono aiuto con R sono volontari e i volontari non sono obbligati ad aiutare. Le persone dell'assistenza tecnica SAS sono pagate per fare ciò che fanno - e lo fanno bene. Non solo lo fanno bene, ma lo fanno educatamente un tratto che spesso non è presente in tutte le comunità R (il mio preferito? "Ho ricevuto aiuto digitando" help ", perché non provi a digitare" help "?")
Penso che l'angolo legacy possa essere grande per il seguente motivo. Un'organizzazione assume una persona, chiamala persona X. Sono un guru del computer / mago / ecc. Costruiscono fantastici programmi / strumenti SAS / ecc. Sono così bravi che le altre persone dell'organizzazione non sentono di aver bisogno di capire come funzionano i programmi. Rendono così semplice premere un pulsante e tutto funziona (le magiche scatole nere).
La persona X lascia l'organizzazione. Sfortunatamente, la conoscenza che la persona X ha lasciato l'organizzazione (la gestione della documentazione e della conoscenza non ha avuto la priorità, invece i programmi di lavoro lo erano). Sono sostituiti dalla persona Y. La persona Y è fantastica con R ma non ha idea di SAS, e quindi non ha idea di come funzionano effettivamente i programmi SAS. C'è un'enorme curva di apprendimento per persino capire cosaè significativamente superiore a una licenza di un anno per SAS. Mi aspetto che SAS farebbe qualche analisi di questo trade off, lasciando che questo influenzi il modo in cui imposta il canone (beh, lo farei se lavorassi in SAS). Si noti inoltre come le procedure di stampa SAS siano molto migliori di circa un decennio fa (ad esempio proc sgplot vs proc plot). coincidenza che R ha fatto bene la prima trama? Penso di no! Questo riduce efficacemente l'efficienza della commutazione perché la stampa non è più così diversa - R è ancora migliore, ma non abbastanza per cambiare ...
Per le statistiche industriali, ci sono persone che assicurano la qualità che (di solito) non hanno conoscenze di programmazione, statistiche o scientifiche e che controllano statistici, programmatori e scienziati. Vogliono sapere "Come fai a sapere che quello che stai facendo è giusto?" e "Se è sbagliato, come possiamo incolpare qualcuno e come lo pagheranno?".
La licenza GNU / GPL Copyleft viene fornita con un testo fisso che dice "R è un software gratuito e VIENE ASSOLUTAMENTE NESSUNA GARANZIA" nel testo in maiuscolo esattamente come ho scritto. Questo è scoraggiante. Quando una persona di qualità legge questo testo, fondamentalmente scredita completamente R. Voglio dire, se un prodotto è buono, vale la pena aggiungere una garanzia, giusto? Tali prodotti commerciali ci hanno portato a credere. In effetti, è stato alla fine la FDA a dichiarare che avrebbe accettato le comunicazioni normative in R che riflettevano uno scambio marittimo nel settore del software. (Nota che questa affermazione arriva dopo la data di pubblicazione originale della domanda.)
Per qualcuno che non sa nulla dei computer, gli scenari immaginati di sicurezza, irreproducibilità e gravi errori scientifici sono illimitati a causa di questa ASSOLUTA MANCANZA DI GARANZIA. Siamo tutti d'accordo sul fatto che gli errori possono avere costi catastrofici. Per la tua licenza SAS, SAS ha esperti che possono spiegare i loro software ai revisori e, nell'impossibile scenario in cui SAS effettivamente causa un tale problema, possono essere responsabili di multe e punizioni (hanno anche abbastanza soldi per gli avvocati per assicurarsi che essere completamente prosciolto in tal caso). L'onere e il costo di avere un analista / programmatore presentare questo caso per R equivale sostanzialmente a una licenza SAS. Non che la programmazione in SAS ti esoneri completamente dall'onere schiacciante della conformità di qualità!
Quindi, in sostanza, direi che la litigiosità ha avuto un ruolo di primo piano nella necessità di un costoso software di licenza.