Nya webbkurser i statistik och dataanalys

Jag har tidigare tipsat om olika webbkurser, eller MOOCs om vi använda oss av buzzwords, och tänkte göra det igen. Visserligen har jag inte själv kollat på dem så noga, men vid första anblick verkar följande tre kurser från Udacity intressanta:

Statistics: The science of decisions. En grundläggande kurs i statistik. Gratis!

Introduction to data science. Dataanalys och programmering i Python. Det är en kostnad för att få del av hela kursen, men det mesta verkar ligga ute gratis.

Exploratory data analysis. Dataanalys och programmering i R. Även här är det en kostnad för att få del av hela kursen, men det mesta verkar ligga ute gratis.

Än fler spännande kurser från Udacity går att hitta här.

Ny blogg: 312

Jag har börjat blogga på Svenska Dagbladet genom den nya bloggen 312. Namnet syftar på att vi i år har 312 olika val: i 290 kommuner, 20 landsting/regioner, 1 riksdag och 1 Europaparlament.

Så om du är intresserad av inlägg om val och demokrati rekommenderar jag att du följer bloggen. Länk: http://blog.svd.se/trehundratolv/

Jag kommer att försöka hinna med att även fortsättningsvis blogga här. Det kommer nog framför allt att bli inlägg som rör statistik, statistikprogram och visualisering av data, alltså lite spetsigare och lite nördigare.

Guider till SPSS

I veckan fick jag förmånen att undervisa studenter i en datasalsövning. Eftersom Linköpings universitet använder SPSS gjorde även jag det, trots att det inte är det statistikprogram jag vanligen använder. Och då tiden var knapp använde vi oss av menyer för att göra enkla beräkningar, även om jag rekommenderar alla att skriva kod om man vill göra analyser som går utöver de allra enklaste. Livet är fullt av kompromisser.

Jag satte ihop några bilder för att göra väldigt enkla steg i SPSS. Om de kan vara till hjälp för någon kan de laddas ned här. I efterhand hittade jag den här guiden till SPSS sammansatt av Rickard Andersson och Michael Wahman, statsvetenskapliga institutionen vid Lunds universitet. Deras guide är betydligt mer genomarbetad och kan säkert vara till hjälp för många. Sedan finns även SPSS-akuten, som grundats av statsvetaren Anders Sundell och som hjälpt många studenter genom att pedagogiskt förklara hur man löser olika moment i SPSS. En ytterligare guide är Programming and Data Management for IBM SPSS Statistics 20 av Raynald Levesque, Raynald (2011). Än fler guider finns att tillgå för den som söker lite på nätet. Och som jag tagit upp i tidigare inlägg, det finns andra statistikprogram att välja bland, till med sådana som är gratis.

Att räkna på avhopp

Avhopp från politiken är en angelägen fråga som då och då tas upp i medierna. För något år sedan samlade jag en del referenser för den som är intresserad av ämnet, se här. Sedan dess har en del nya resultat kommit, framför allt genom SCB:s rapport Folkvaldas villkor i kommunfullmäktige. Studien som rapporten baseras på kan ses som en uppföljning av en studie som jag och Gissur Ó. Erlingsson genomförde 2010 och som resulterade i rapporten Politikens villkor.

Många journalister som ska rapportera om avhopp har dock svårt att fram andelen som har hoppat av och det blir ofta fel. Det är dock lätt att göra fel. Valmyndigheten är källan till färsk statistik över avhopp och den redovisas på deras webbsida. Om vi exempelvis ser till val till kommunfullmäktige så redovisas statistik över dem som valdes in i valet 2010 (dvs. situationen efter valets sammanräknande), nuvarande ledamöter samt de ledamöter som har hoppat av.  All denna statistik är intressant, till exempel är det intressant att jämföra hur de som valdes in 2010 fördelar sig efter olika bakgrundsvariabler i förhållande till hur det ser ut för dem som nu sitter i fullmäktige (efter att vissa personer har hoppat av och andra ersatt). Det är även av intresse vilka det är som har hoppat av. Men många journalister vill framför allt rapportera hur stor andel av dem som valdes in 2010 som har hoppat av. De gör då misstaget att dela antalet som har hoppat av med antalet som valdes in, vilket är fel. Anledningen till att det blir fel är att det antal avhopp som redovisas är totalt, det vill säga även avhopp bland ersättare räknas med. Ett stort antal avhopp kan avse samma mandat som har tillsatts ett flertal tillfällen.

Att så är fallet kan vi se genom att till exempel studera Huddinge, där fick Drevvikenpartiet 3 mandat och de hade även 3 personer som valdes in 2010. Men antalet som har hoppat av är 4. Så om man räknar som vissa journalister har gjort skulle andelen avhopp bli över 100 procent. När man räknar på hela riket är det inte lika uppenbart att avhoppsandelar per parti är felaktiga. Men det cirkulerar med andra ord en hel del felaktiga uppgifter på grund av detta (för höga andelar). Hur ska man då göra om man vill ha dessa siffror? Tja, bäst är väl att kontakta Valmyndigheten för att få uppgifterna eller övertyga dem om att komplettera sin statistik med detta. SCB redovisar statistik över andelen av ursprungligt valda som har hoppat av, men den statistiken uppdateras inte lika ofta som Valmyndighetens statistik. Det gäller att hålla tungan rätt i mun när man tar fram statistik, i synnerhet om det är inom ett område man inte känner till.

Proportionella venndiagram

Häromveckan fick jag frågan om hur man på bästa sätt gör ett venndiagram där cirklarna är proportionella i förhållande till gruppernas storlek (om du inte känner till venn- och eulerdiagram, se ett av mina tidigare inlägg). Jag är inte helt säker på om jag tycker att det är en strålande idé över huvud taget. Om man vill illustrera olika gruppers storlek är cirklar inget bra alternativ (en dag kanske den insikten även kommer till DN:s grafiker, även om jag börjar ge upp hoppet). Men om det inte är huvudsaken kan det kanske ändå ge en ungefärlig uppfattning av den inbördes storleksordningen.

Om man googlar efter ”venn diagram area proportional” hittar man ett gäng lösningar, både sådana där man skapar diagrammet på webben i en applikation och sådana där man laddar ned ett särskilt program.  Det innebär dock manuellt arbete som är svårt att reproducera eller inlärning av ett nytt program och de kostnader som är förenade med det. Nyligen gav jag lite vägledning när det gäller hur man ska välja statistikprogram. Såvitt jag vet är det bara ett av dessa program där man kan skapa proportionella venndiagram (eller eulerdiagram), och det är R. Där finns dock åtminstone två olika paket att använda sig av: venneuler och vennDiagram. I det första är koden väldigt enkel. Säg att vi vill skapa ett venndiagram med A, B och C, där storleken för de tre är 200, 400 respektive 800. Och där kombinationen A, B och C är 20, kombinationen A och B är 40, A och C är 80 och B och C är 80. Då blir koden i R följande:

require(venneuler)
v <- venneuler(c(A=200, B=400, C=800, ”A&B&C”=20, ”A&B”=40, ”A&C”=80, ”B&C”=80))
plot(v)

Resultatet blir som följer:
Rplot_venn
Ibland sätter geometrin gränser som gör att den figur som skapas inte exakt stämmer överens med vad som specificeras, så det gäller att kolla att det verkar stämma. Det går att fixa till mer kring färger och utseende, antingen i R-koden eller senare i något annat program som Inkscape (som liksom R är gratis (den som har bättre resurser kan använda Adobe Illustrator)). Möjligheterna att kontrollera utseendet är än större om man använder paketet vennDiagram istället.  Men som ni ser, R är inte alltid så krångligt och det finns oftast fler lösningar på olika problem, även om antalet lösningar ibland kan vara överväldigande.

Gratis statistikkurs

Det är en ny skön värld vi lever i. Ett tecken på det är att Stanford i dagarna startade en gratis statistikkurs på nätet som pågår fram till den 22 mars. Den ges via Open edX kräver en del förkunskaper, men den hugade kan nog klara av det ändå, i synnerhet om man lägger ned mer än de 3 timmar per vecka som anges att kursen tar i anspråk. Som inte det var nog lägger föreläsarna ut deras kursbok  An Introduction to Statistical Learning, with Applications in R gratis. Den är utgiven på Springer och kostar hos Amazon 69 dollar. Och för att citera tv-reklamen ”but wait, there’s more”, det statistikprogram som används i kursen är R, som är….gratis! Och som med fördel kan användas tillsammans med R Studio, som också är gratis. Visst, there’s no such thing as a free statistics course, men det här är nog så nära man kan komma – den insats du lägger in torde vara en god investering.

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.

2014

Ett nytt år och nya tag. Sammanfattningsvis var 2013 ett bra år med många roliga händelser. Efter att ha arbetat i ett antal forskningsprojekt under ganska många år valde jag att påbörja doktorandstudier i statsvetenskap vid Linköpings universitet. Det dök upp en bra och spännande möjlighet som var lite för bra för att avstå ifrån.

År 2014 verkar bli minst lika intressant. Framför allt tror jag att jag kommer att vara produktiv, eller annorlunda uttryckt så har jag tagit på mig så pass mycket att jag verkligen hoppas att jag lyckas leverera. Jag är fortfarande tjänstledig från SCB, men från och med februari kommer jag att jobba halvtid åt SCB och doktorera på halvtid. Min anställning vid IFN tar därmed slut, men jag kommer även fortsatt att vara affilierad till IFN.

Jag har ett antal nyårslöften att försöka leva upp till. Det är kanske inte ett löfte, men min ambition är att jag ska bli bättre på att blogga under 2014, både här och på Politologerna. Min tanke är att ett inlägg i veckan ska vara en miniminivå på den här bloggen.

TV-tips: statistik och kartor

I Norge blev tv-serien Siffror (Siffer på norska), med matematikern Jo Røislien som programledare, en succé. I Sverige har den tyvärr inte rönt samma uppmärksamhet. Måhända beror på det på norskan eller på att den går på UR. I vilket fall, den är väl värd att kolla in. Programmet har en stil som påminner om SVT:s Värsta språket (även om Karin af Klintberg är stråt vassare än våra norska grannar). Nu finns alla 10 avsnitt att se via UR Play och kan nås här.  Alla avsnitt är sevärda, men jag rekommenderar framför allt avsnitten Vinstchanser, Hälsa, Spelteori, Makt och Nätverk. Om man är extra intresserad av den ekonomiska kraschen på Island som jag berörde i föregående bloggpost kan avsnittet Ekonomi också vara värt att kolla på.

När jag ändå är inne på tv-tips kan jag passa på att nämna Kobra i SVT. I avsnitt 7 av pågående säsong berörde de kartor. Väl värt att kolla in, vilket du kan göra här.