Verktøy for dataanalyse

Excel er greit nok. Men kunstig intelligens, data mining, algoritmer og modeller – alt dette høres fort litt fjernt og avansert ut.
Egentlig er disse mystiske maskinene og modellene ikke så mystiske i det hele tatt. I bunn av disse svevende buzz-ordene finner vi håndfast og praktisk statistikk, matematikk og programmering. Vi finner rader og kolonner med data. Sannsynlighetsregning, gjennomsnitt, median og lineær regresjon. Egne programmer der vi kan skrive inn formler og kommandoer og få et svar eller et resultat.
En som har utforsking av og verdiskaping fra data som sin ekspertise – en data scientist – har alt dette som ferdigheter og teknikker i sin verktøykasse.
Merk at dette er overlappende kategorier, og ikke verktøy og teknikker som er strengt atskilt fra hverandre. For å drive med data mining vil en for eksempel gjerne bruke R, Python og kodebaserte verktøy/biblioteker. Mens både data mining og Business Intelligence kan involvere maskinlæring. Og så videre.

Verktøykassen

La oss ta disse verktøyene ut av den rotete boksen og legge dem pent utover gulvet, så å si, for å få et aldri så lite overblikk:

Data og koding

Som du allerede har skjønt: Litt grunnleggende kunnskap om programmering kan være en enorm ressurs når det kommer til å analysere data, selv for de som ikke snakker flytende kode. La oss bygge litt videre på det du allerede har lært om programmering og vise mer av hva du kan bruke det til i praksis.
Det er til bruk i dataanalyse at programmeringsspråket R virkelig får skinne.
Syntaksen i R er direkte rettet inn mot behandling av data, heller enn opprettelse av objekter. Derfor ligner også kode i R mer på matematiske likninger og uttrykk enn mange andre språk.
Du trenger ikke dyre enterprise-programmer og omfattende skyløsninger for å jobbe med disse tingene; du kan komme veldig langt med å strukturere data for eksempel i en CSV-fil (som du husker står for Comma Separated Values) og legge til noen linjer kode på toppen med en gratis kode-editor.
R brukes primært for statistisk analyse og data mining, og er populært i såvel akademiske miljøer som i industrien. Det er et veldig brukervennlig språk, spesielt om du allerede godt kjent med matematikk og verktøy som Excel. Hvis du noen gang har benyttet deg av formler i et Excel-dokument, er du som nevnt i praksis veldig nære å programmere i et statistisk egnet språk som R.

Jobb smart med gjenbruk og googling

Utviklere er gjerne langt over snittet flinke til å google – og å bygge løsninger på toppen av andres arbeid. Det er nemlig sjeldent noe poeng i å finne ut av ting på egenhånd når andre har gjort det før, eller å starte med blanke ark når det finnes gratis og lett tilgjengelige ressurser du kan benytte deg av.
Når det er sagt: akkurat som på andre områder er det også her viktig med kildekritikk. Det henger her sammen med en grunnleggende forståelse av hva som foregår i koden og hva som er beste praksis (altså «hvordan ting gjøres»). Det er for eksempel ikke all kode som er like effektiv, eller som vil fungere like godt overens med resten av programmet du jobber med.
Etter hvert som du bygger opp kunnskap og ferdigheter vil du også bli flinkere til å stille de riktige spørsmålene og å forstå hva som vil være en god løsning på det aktuelle problemet. Evnen til å stille gode spørsmål, tenke løsningsorientert og utvise kildekritikk er minst like viktig – egentlig mer viktig – enn å være en racer med kode i seg selv, når vi jobber med data, programmering og statistikk.
Med dette i mente, her er noen triks du kan ta med deg:

Eksempel: Så likt er Excel og R!

Om du allerede er vel bevandret i Excel vil du ikke ha store problemer med å lære deg grunnleggende R, for her gjør vi egentlig mye av det samme. La oss ta et konkret eksempel:
Vi har et datasett der vi har samlet temperaturer på et bestemt sted, og vi ønsker å finne største og minste verdi.
Vi gjør det ekstremt enkelt og sier at datasettet består av kun tre verdier: 5, 10 og 15. Du trenger selvsagt hverken Excel eller R for å finne ut hvilket tall som er størst og minst av disse tre. Men du kunne matet inn millioner av tall i dette datasettet og benyttet samme metode – det er dét som er poenget. Så la oss se hvordan vi kan gjøre dette først i Excel, og så i R:

Størst og minst i Excel

Alle formler i Excel starter med et likhetstegn (=). Dette har likheter med ulike programmeringsspråk; vi bruker bestemte tegn eller nøkkelord for at maskinen skal forstå hva vi mener.
I dette tilfellet vil vi bruke formlene MAX (største verdi) og MIN (minste verdi) i datasettet. Siden datasettet er så lite, kan vi skrive verdiene rett inn i formelen. Vi velger cellen der vi vil at resultatet skal vises, og skriver:
=MAX(5;10;15)
Når vi trykker Enter, vil vi nå få opp verdien 15 i den valgte cellen, siden det er det største tallet i utvalget. Tilsvarende kan vi skrive følgende for å få minste verdi:
=MIN(5;10;15)
Obs: Merk at dersom du bruker Excel på norsk, vil også mange formler bli oversatt. I stedet for MAX skriver du da STØRST. Ettersom det meste av guider og oppskrifter på nettet er på engelsk, kan det være lurt å sette engelsk som foretrukket språk i programmet slik at det blir enklere å følge disse steg for steg.

Størst og minst i R

Akkurat det samme vi nettopp gjorde i Excel, kan vi også gjøre med R. Da bruker vi en kode-editor, som Jupyter Notebook eller lignende (se faktaboks). Her kan vi rett og slett skrive:
max(5,10,15)
eller:
min(5,10,15)
Så kjører vi koden, og får henholdsvis 15 eller 5 som resultat. Og som du ser: det er så å si helt likt!

Innsikt

Eksempler på kodebaserte verktøy knyttet til utforskende dataanalyse

  • Jupyter Notebook: Et gratis, web-basert verktøy basert på åpen kildekode som er mye brukt til å gjøre analyse av data. Det støtter ulike programmeringsspråk, blant annet R og Python. Dataene bak Large Synoptic Survey Telescope, det første teleskopet i verden som viser hvordan universet endrer seg i sanntid, er prosessert i Jupyter Notebook!
  • Gephi: Et annet gratisprogram, også basert på åpen kildekode. Gephi brukes mye til å analysere og generere visuelle fremstillinger av data, særlig av kompliserte nettverk.
  • RapidMiner er også et program som lar oss analysere data, men dette koster penger. Det er i stor grad malbasert, noe som gjør at man selv slipper å kode.
Dersom vi faktisk hadde årevis med temperaturmålinger å forholde oss til her, og ikke bare tre verdier, ville vi gjort dette på en litt annen måte. Nærmere bestemt: vi ville ikke skrevet inn verdiene manuelt som en del av formelen. Inne i parentesen kan vi i stedet definere hvilke data vi ønsker å kjøre formelen på. Dette gjelder både i Excel og R.
Hvis vi for eksempel i Excel legger inn «Temperatur» som overskrift i første kolonne, og fører inn verdiene nedenfor, vil de legge seg i cellene A2 til A4 (første kolonne, rad 2 til 4). Da kan vi i stedet skrive formelen =MAX(A2:A4), og få samme resultat som før. Hvis vi i stedet hadde flere tusen temperaturer, og de fortsatte helt ned til rad 17933, ville formelen blitt =MAX(A2:A17933).
Eller enda bedre: vi kan bruke dynamiske antall kolonner. Hvis det legges til en ny verdi hver dag, så ønsker vi ikke å gå inn i formelen og utvide til 17994, deretter 17995, og så videre. Vi holder heller alle dataene i en kolonne og skriver =MAX(A:A) for å ta med alle cellene som har data i A. Genialt!
Henger du med?
Om du skulle funnet disse topp- og bunnverdiene manuelt i et datasett med millioner av verdier kan det fort ta deg både uke-, måneds- eller årevis avhengig av mengden. I både Excel og R tar den samme øvelsen kun millisekunder for en moderne datamaskin.
Men hvorfor bruker man R hvis Excel allerede kan gjøre utregningene på samme vis? Vel, de har begge sine styrker – og begrensninger. Derfor kan det være en fordel å ha kjennskap til begge.
R er generelt et kraftigere verktøy for statistisk analyse og data mining enn Excel, og også langt mer fleksibelt både med tanke på mulighetene du har og hvilke data du jobber med. Du kan visualisere på akkurat samme måte som i Excel via R, og også få til langt mer tilpassbare og smartere løsninger – men det kreves også mer kunnskap.
Excel gjør det kort og greit enklere å få til visualiseringer uten at man trenger å kunne programmere, og er dermed også litt mer tilgjengelig for folk flest. Begge verktøyene krever imidlertid at du har en viss matematisk forståelse, og det lønner seg i begge tilfeller å sette seg inn i grunnleggende konsepter og funksjoner og bygge videre på dette etterhvert som du blir mer komfortabel med verktøyene.
Blir du god i R, kan du kode spennende, kreative og slående visuelle fremstillinger av dine data.
Nå har vi vært innom et par verktøy. Men det viktigste verktøyet til en data scientist er statistikk og statistiske teknikker. La oss derfor dykke litt dypere inn i hva det egentlig er.