Att välja statistikprogram

Sedan jag startade den här bloggen har jag många gånger fått frågan om vilket statistikprogram man bör välja för att göra statistiska analyser. Det är inte en helt enkel fråga att besvara. Det finns vitt skilda åsikter och tvärtemot vad man kan tro väcker diskussioner av detta slag heta känslor. Det kan liknas vid de känsloyttring som kommer till uttryck när olika operativsystem för datorer ska diskuteras, och i båda fallen tenderar de som förespråkar gratislösningar och open source att argumentera med nästan religiösa undertoner, därmed inte sagt att de har fel.

Det finns ett stort antal statistikprogram att välja bland, men för många antar jag att valet står mellan R, SAS, SPSS och Stata. De är i alla fall de program som jag i första hand är bekant med. Om man redan är bekant med Python kan SciPy och Julia var en annan väg att gå. Och om man endast vill göra enklare beräkningar kan i vissa fall ett kalkylprogram, SQL eller något annat motsvarande fungera utmärkt.

Vilket är då det bästa statistikprogrammet? Det är en knepig fråga. Det är lite som med instrument; är en Fender Telecaster bättre än en Jaguar? Det beror lite på vad man gillar, vad man har tänkt göra och i vilket sammanhang. Statistikprogrammen har sina olika programmeringsspråk och som med alla språk kan det krångliga och omständliga bli en del av charmen, om man lär sig bemästra språket. Men, anyways, här är mina fem cent om de fyra programmen. Och ja, jag skulle gissa att många har avvikande uppfattningar.

SAS
Man skulle kunna beskriva SAS som mitt modersmål. Jag har knackat SAS-kod i över 10 års tid. Möjligen är det därför jag har lärt mig att gilla den omständliga syntaxen. Men det går inte att förbise att SAS har ett programmeringsspråk som är en rest från svunna tider (tider då hålkort användes) och det är både knöligt och inkonsekvent. Dessutom får man ofta skriva jämförelsevis mycket kod för att få något uträttat. Grafiken är också begränsad, även om förbättringar har skett på senare tid. Styrkan ligger i förmågan att hantera stora datamängder, olika typer av datakällor och databaser, samt att det är stabilt. Att det är stabilt är förmodligen en orsak till att det är populärt bland dem som inte har råd med fel eller problem i samband med uppdateringar. Baksidan av det myntet är att det tar lång tid innan nya metoder implementeras. Visserligen finns goda möjligheter att själv programmera sådant, men det tar tid och kan vara krävande. En ytterligare nackdel är att de årliga licenskostnaderna är höga.

SPSS
Mitt intryck är, lite elakt, att SPSS framför allt är populärt bland personer som inte kan så mycket statistik. Och många som använder SPSS gör det genom programmets menyer snarare än genom att skriva kod. Det är ett arbetssätt som jag starkt avråder ifrån (även om man i SPSS kan logga hur man har klickat i menyer och på så vis ändå få arbetet spårbart och reproducerbart). Samtidigt kan jag förstå att det används så då det är lätt att klicka fram några enkla tabeller, och det är enkelt att sedan flytta dem från SPSS till t.ex. Word. Fast med tanke på att SPSS är rätt dyrt, i synnerhet om man vill köpa de moduler som krävs för lite mer avancerad analys, blir det i så fall ett väl exklusivt verktyg för något väldigt enkelt. Det bör dock nämnas att det även går att göra avancerade analyser i SPSS och många skriver kod snarare än att klicka i menyer. Själv är jag inte alls förtjust i syntaxen i SPSS. Man kan visserligen använda Python i SPSS-kod, men då väcks frågan om det kanske inte är bättre att använda SciPy och Julia istället (åtminstone blir det billigare). Även grafiken i SPSS lämnar en del att önska.

Stata
Bland många samhällsvetare är Stata det mest populära statistikprogrammet. Det finns ett flertal skäl till detta. Ett är att nya statistiska metoder implementeras förhållandevis snabbt. Dessutom finns möjligheter för användare att skriva program som på ett enkelt sätt kan laddas ned av andra användare och anropas på samma sätt som officiella kommandon. Ett annat skäl är att grafiken i Stata är mycket bra. Visserligen kostar Stata en slant, men den slanten är mindre än för SAS och SPSS och framför allt används inte tidsbegränsad licenser (även om man måste betala om man vill uppgradera efter att en ny version har släppts ). En lite märklig egenhet hos Stata är att något så enkelt som att ta fram en korstabell och flytta den till Excel är oväntat omständligt, även om det naturligtvis finns lösningar (och kopplingen mot t.ex. Excel har förbättrats i senare versioner). Stata har även vissa brister när det gäller hantering av stora dataset och kopplingar mot olika datakällor, även om det har förbättrats en del. En förklaring är att användarna snarare har varit akademiker än statistikproducenter. På vissa håll argumenteras för att programmering i Stata har brister, men jag gillar den. Framför allt finns mängder av kraftfulla funktioner som är värdefulla vid manipulering och redigering av data.

R
Det new kid on the block i dessa sammanhang är statistikprogrammet som kort och gott heter R. Det är både gratis och open source. När det gäller priset är det med andra ord en klar vinnare bland de kandidater som jag tar upp här. På många sätt liknar R tidigare nämnda Stata. Fast om användarskrivna kommandon utgör en del för många användare av Stata är det inget emot vad som är fallet för R. Här finns en uppsjö av olika så kallade paket att ladda ned, och antalet växer kraftigt. Över huvud taget har R ett starkt momentum, inte minst vid amerikanska universitet där det har vunnit stor mark. Att det finns en livlig rörelse kring R gör att nya metoder implementeras snabbt och det finns utmärkta lösningar för allehanda uppgifter, som exempelvis att hämta in Tweets eller att visualisera nätverk. Baksidan av myntet är att det finns mängder av lösningar och de har inte enhetlig form och det kan vara svårt att veta om man kan lita på den som har tagit fram lösningen och att den uppdateras om fel upptäcks, dvs. de problem som ofta finns med open source.  R delar många andra egenskaper med Stata, såsom mycket bra grafik (än bättre för R skulle jag säga) och lite mer problem med riktigt stora datamängder (även om lösningar finns och fler är på gång). Vissa företag kan nog dra sig för att  gå över till ett gratisprogram som R, men å andra sidan används det flitigt vid t.ex. Google.

 Summering
Så vad landar detta i? Det är inte helt självklart. Om du befinner dig i en miljö där ett visst program används kan finnas fördelar med att använda samma program som dina kollegor, och samma gäller om du siktar på ett arbete inom ett visst område (där kunskap om ett visst statistikprogram kan vara en förutsättning för att få jobb). En annan kritisk fråga är om du har någon som betalar för ditt statistikprogram. Om inte är förmodligen endast R eller möjligen Stata rimliga alternativ. Nu kanske ni tycker att jag ska tala ur skägget och ge ett konkret råd, men det är som sagt inte lätt att ge ett definitivt svar. För de analyser jag gör är ofta Stata ett alternativ jag vänder mig till. Jag tycker att tröskeln för att lära sig det är något lägre än R (och betydligt lägre än för SAS) och dessutom är den inbyggda hjälpen i Stata riktigt bra. Fast sedan R Studio (ett gränssnitt för R) kom till R har jag börjat gilla det allt mer. Och jag tror att R kommer att bli allt mer betydelsefullt under kommande år, i synnerhet om man som jag är intresserad av visualisering av data. Så, om du inte får ditt statistikprogram bekostat av någon annan är nog R (med R Studio) rätt väg att gå. Annars kan i första hand Stata vara ett alternativ att överväga. Och som i övriga livet är det bra att kunna hantera fler än ett verktyg.

För den som vill få tips för de olika programmen har jag samlat en del länkar via ”Länkar” i menyn ovan.

13 reaktioner på ”Att välja statistikprogram”

  1. Hej! Jag arbetar som läkare och gör ett vetenskapligt arbete som led i en utbildning. Jag har ej tidigare själv skrivit nån vetenskaplig artikel och har inget jättestort intresse av det utan vill bara presentera mitt arbete på ett statistiskt korrekt sätt. Vilken väg tycker du jag ska gå och om jag måste behandla data själv vilket program är enklast?
    Tacksam för svar.

  2. Det är en svår fråga och beror lite på vad du har för datorvana och vad du har tänkt göra. Men om det är enkla beräkningar och du bara vill klicka dig fram i menyer är förmodligen SPSS eller Stata lättast. Om du har någon kollega som kan något program kan det vara ett klokt alternativ. Om du måste betala för programmet själv är det svårt att slå R. Om du vill göra lite mer avancerade analyser håller jag fast vid vad jag skrev i mitt inlägg. Lycka till!

    1. Tack för svar! Har ingen datorvana men några vänner som förhoppningsvis kan hjälpa. Ska bara lägga in enkla uppgifter fr ett ganska litet material så det kanske inte behöver bli så blodigt!?

    1. Tycker du? Det var några år sedan jag testade Enterprise Guide, men jag gillade inte det alls. Men det kanske har förbättrats sedan dess. Oavsett det är min rekommendation är att skriva kod i stället för att använda klickande i menyer.

  3. Hej
    Jag jobbar i ett projekt ,där vi kontinuerligt får in stora mängder med mätvärden som skall transformeras till Excel-fil med median SD nivåer mm. Sedan skall dessa filer importeras till vår visualiseringsmodul. Materialet kan inte hanteras rakt upp och ned utan måste behandlas i enlighet med en viss formel och extremvärden exkluderas enligt en serie fastställda kriterier. Skulle helst vilja automatisera detta genom en webbtjänstserver som kan leverera detta .
    Som vanligt är de ekonomiska ramarna begränsade varför
    alternativet R låter lockande. Kommer med en ny version i april. Har du några kommentarer till detta eller vägar att gå för att hitta partners som vill jobba med denna typ av uppdrag

  4. Hej!
    Det låter inte som om det är några avancerade bearbetningar, så det finns säkert många tänkbara lösningar. R kan vara ett alternativ. Det finns dock andra som kan webblösningar bättre än vad jag kan. Lycka till!
    Richard

  5. Hej!
    Jag letar efter det program som ger en rapport i form av värdeord i olika storlekar, beroende på hur många gånger ett visst ord valdes av respondenterna. Ofta har dagstidningar använt sig av den här typen av visuella redovisningar. Vet du vad programmet heter? Tack för informativ blogg!

    1. Sorry för sent svar, du menar nog så kallade word clouds. Om du googlar efter det hittar du en del gratisverktyg för att ta fram sådana. De går även att skapa i statistikprogram, som t.ex. R.

  6. Hej Richard och tack för ett givande inlägg. Det lutar åt att jag kommer köra på Stata. En sak jag tänkte fråga dig dock är hur du ser på Excel som ett statistik program? Laddar man ned ”Real Statistics Resource Pack” får man ju massa funktioner som finns i exempelvis Stata och kan ganska enkelt använda logistisk regression m.m. Bygger man makron går det dessutom fort att analysera rådata om man bara vill se odds och sannolikheter (helt enkelt genom att använda countifs).

    1. Tack! Jag funderar på om jag ska lägga ut ett nytt inlägg i ämnet. Sedan jag skrev det här har jag fått en än mer positiv syn på R, delvis eftersom det har kommit en del nya paket som ger ett mer sammanhållet och enhetligt sätt att arbeta. Fast Stata är fortfarande ett bra alternativ givet att kostnaden inte är något problem.

      Jag är själv inte särskilt förtjust i Excel och jag ser det inte som ett statistikprogram. Visst, om man är väl bekant med programmet och bara ska göra någon enklare ad-hoc analys kanske det kan vara ett alternativ. Men jag rekommenderar starkt att använda ett riktigt statistikprogram. Det finns otaliga exempel på analyser som gått snett genom Excels egenheter.

    1. Visst, om man redan använder Python eller vill gå mer mot data science är det en tänkbar väg. Men om man framför allt vill ägna sig åt statistik tycker jag personligen att R i dagsläget är att föredra. Fast som utvecklingen ser ut kan det ändras.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.