Datastrukturer. Kevin Thon. 25 april 2017

Like dokumenter
Datastrukturer. Kevin Thon. 25 april 2017

Datavask - klargjøring av data for analyse. Kevin Thon

Kom i gang med Stata for Windows på UiO - hurtigstart for begynnere

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer

Kvalitetssikre og analysere egne data - Nødvendig kunnskap

ting å gjøre å prøve å oppsummere informasjonen i Hva som er hensiktsmessig måter å beskrive dataene på en hensiktsmessig måte.

Hva kan vi forvente og kreve?

Tirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case

DATAUTFORSKNING I EG, EG 7.1 OG EGENDEFINERTE FUNKSJONER SAS FANS I STAVANGER 4. MARS 2014, MARIT FISKAAEN

TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case. Professor Alf Inge Wang

Læringsmål og pensum. En større case. Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12.

Parallelle og distribuerte databaser del III

Verdier, variabler og forms

OPPGAVESETTET BESTÅR AV 3 OPPGAVER PÅ 6 SIDER MERKNADER: Alle deloppgaver vektlegges likt.

BEGYNNERKURS I SPSS. Anne Schad Bergsaker 17. november 2017

Eksport /Import person

GJENNOMGANG UKESOPPGAVER 9 TESTING

Deskriptiv statistikk., Introduksjon til dataanalyse

Tom Røise 2/28/2007. IMT2243 : Systemutvikling 1. Forelesning IMT mars Tema : Litteratur : Strukturert analyse. Strukturert analyse

Deskriptiv statistikk., Introduksjon til dataanalyse

Kategoriske data, del I: Kategoriske data - del 2 (Rosner, ) Kategoriske data, del II: 2x2 tabell, parede data (Mc Nemar s test)

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array

Verktøy for boligkartlegging

Innhold uke 10. Objektorientert programmering i Python. Oblig 7 og 8. IN1000 Seminar! IN1000 Høst 2018 uke 10 Siri Moe Jensen

Verktøy for boligkartlegging

SPSS Statistics-kurs 2014

Python: Intro til funksjoner. TDT4110 IT Grunnkurs Professor Guttorm Sindre

INF Algoritmer og datastrukturer

BEGYNNERKURS I SPSS. Anne Schad Bergsaker 12. februar 2019

Tilkobling og Triggere

Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array

Utvidet brukerveiledning

Sikkerhet i Pindena Påmeldingssystem

Øvingsforelesning TDT4105

Veiledning for utarbeidelsen av økonomiske analyser som fremlegges for Konkurransetilsynet

ØVINGER 2017 Løsninger til oppgaver. Øving 1

STK Oppsummering

BEGYNNERKURS I SPSS. Anne Schad Bergsaker 26. april 2018

GrandView. Et dataprogram for samle, organisere og analysere mengder av ulike typer informasjon. Brukermanual

Lage større programmer (Python, relatert til teoridelen om Software Engineering ) TDT 4110 IT Grunnkurs Professor Guttorm Sindre

STYRINGSSYSTEMER OG VERDISKAPING; HVOR STÅR BUDSJETTET I NORSKE VIRKSOMHETER?

TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

GRUPPE 5, UKE 11 EVALUERING IN1050

Løsningsforslag for Obligatorisk Oppgave 3. Algoritmer og Datastrukturer ITF20006

Last ned Å finne sted - Jonathan Z. Smith. Last ned

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

Valg av variabler og design

TDT4300 Datavarehus og datagruvedri3, Våren 2014

Eksamen i SLI 5 høsten 1993

Bakgrunn. Viktig del av kvalitetsstrategien Et viktig helsepolitisk mål HOD med styringssignaler til RHF

Simulerings-eksperiment - Fysikk/Matematikk

TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

PROGRAMUTVIKLINGSPLAN. Big Data and Machine Learning

Forskningsmetoder. INF1050: Gjennomgang, uke 13

Gauss-Jordan eliminasjon; redusert echelonform. Forelesning, TMA4110 Fredag 18/9. Reduserte echelonmatriser. Reduserte echelonmatriser (forts.

Veiledning Tittel: Veiledning for utarbeiding av økonomiske analyser Dok.nr: RL065

Mangelen på Internett adresser.

Algoritmeanalyse. (og litt om datastrukturer)

NRFs administrasjon TLF Norske Rørgrossisters Forening. Effektiv informasjonslogistikk. Terje Røising Daglig leder

INF1020 Algoritmer og datastrukturer

INF 3430/4430. Simuleringsmetodikk

INF 3430/4431. Simuleringsmetodikk

Introduksjon til EndNote

FÅ KONTROLL PÅ DE USTRUKTURERTE DATAENE

Statistikk for språk- og musikkvitere 2

Statisk testing. Testing uten datamaskin, men med vår egen evne til å vurdere og analysere

ST0103 Brukerkurs i statistikk Høst 2014

MAT1030 Diskret Matematikk

Brukerveiledning. Enkelt søk i Naturbase. Versjon 23. februar 2015

Sikkerhet i Pindena Påmeldingssystem

Nr. 37/148 EØS-tillegget til Den europeiske unions tidende. KOMMISJONSFORORDNING (EU) nr. 275/2010. av 30. mars 2010

IN uke 1. Komme i gang med programmering

Anatomien til en kompilator - I

Lærebok Robert Johnson og Patricia Kuby: Elementary Statistics, 10. utgave. Pensumoversikt. Forelesninger og øvinger

ST0202 Statistikk for samfunnsvitere

ST0202 Statistikk for samfunnsvitere. Bo Lindqvist Institutt for matematiske fag

OPPGAVEHEFTE I STK1000 TIL KAPITTEL Regneoppgaver til kapittel 7. X 1,i, X 2 = 1 n 2. D = X 1 X 2. På onsdagsforelesningen påstod jeg at da må

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.

Kap. 8 del 1 kodegenerering INF5110 Vår2007

ST0202 Statistikk for samfunnsvitere. Bo Lindqvist Institutt for matematiske fag

Romlig datamanipulering

Forelesning 6: Punktestimering, usikkerhet i estimering. Jo Thori Lind

Kapittel 5: Mengdelære

UNIVERSITETET I OSLO

DIN DIGITALE PARTNER

Forelesning 13 Analyser av gjennomsnittsverdier. Er inntektsfordelingen for kvinner og menn i EU-undersøkelsen lik?

Veileder til levering og godkjenning av rapporteringsdata til DBH-F

Kort innføring i SPSS

Utvidet brukerveiledning

Status IFC4 og sertifisering

INF1000: Forelesning 7. Konstruktører Static

Team2 Requirements & Design Document Værsystem

BEGYNNERKURS I SPSS. Anne Schad Bergsaker 24. november 2017

TDT4110 Informasjonsteknologi grunnkurs: Eksempler. Mangekanter

ST0202 Statistikk for samfunnsvitere

Fra boka: 10.32, 10.33, 10.34, 10.35, 10.3 og (alle er basert på samme datasett).

INF Algoritmer og datastrukturer. Hva er INF2220? Algoritmer og datastrukturer

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Transkript:

Datastrukturer Kevin Thon 25 april 2017

Innledning De fleste som er involvert med registerdata på et eller annet plan vil et et tidspunkt måtte forholde seg til hvordan dataen er strukturert. Dette gjelder f.eks. ved: Utvikling/design av register Eksport/import av registerdata Analyse av registerdata Validering av registerdata

Avgrensing Denne forelesningen vil i stor grad ha fokus på data ut og kun i liten grad berøre temaer som omhandler databaser og effektiv datalagring.

Avgrensing Denne forelesningen vil i stor grad ha fokus på data ut og kun i liten grad berøre temaer som omhandler databaser og effektiv datalagring. Det betyr fokus på et bredere tema nemlig vasking/rydding av data for å etablere analyseklare datasett. Praktiske eksempler vil benytte statistikkprogrammet R men fokus vil være på underliggende konsepter.

Avgrensing Denne forelesningen vil i stor grad ha fokus på data ut og kun i liten grad berøre temaer som omhandler databaser og effektiv datalagring. Det betyr fokus på et bredere tema nemlig vasking/rydding av data for å etablere analyseklare datasett. Praktiske eksempler vil benytte statistikkprogrammet R men fokus vil være på underliggende konsepter. Disclaimer: Innholdet er sterkt inspirert av Hadley Wickham sin artikkel Tidy Data og eksemplene er hentet direkte derfra.

Definisjoner De fleste statistiske datasett er rektangulære tabeller bestående av rader og kolonner. Table 1: En tabell med behandlingsresultatet av to metoder i et fiktivt eksperiment treatmenta treatmentb John Smith - 8 Jane Doe 15 14 Mary Johnson 17 12

Definisjoner forts. Et datasett er en samling verdier, typisk numeriske eller tekstlige. Hver verdi tilhører en variabel og en observasjon.

Definisjoner forts. Et datasett er en samling verdier, typisk numeriske eller tekstlige. Hver verdi tilhører en variabel og en observasjon. En variabel inneholder alle verdier som måler samme underliggende atributt på tvers av enheter. Eksempler: Høyde, blodtrykk, O 2 -opptak.

Definisjoner forts. Et datasett er en samling verdier, typisk numeriske eller tekstlige. Hver verdi tilhører en variabel og en observasjon. En variabel inneholder alle verdier som måler samme underliggende atributt på tvers av enheter. Eksempler: Høyde, blodtrykk, O 2 -opptak. En observasjon inneholder alle verdier målt på samme enhet (f.eks person, operasjon, dag) på tvers av atributter.

Oppgave treatmenta treatmentb John Smith - 8 Jane Doe 15 14 Mary Johnson 17 12 Oppgave: Hva er variablene i dette datasettet?

Oppgave treatmenta treatmentb John Smith - 8 Jane Doe 15 14 Mary Johnson 17 12 Oppgave: Hva er variablene i datasettet? Løsningsforslag: 1. person med verdiene John Smith, Mary Johnson, and Jane Doe 2. behandling med verdiene a og b 3. resultat med verdiene 8, 15 14, 17, 12 (og én missing)

Hva er god datastruktur? Avhengig av formålet

Hva er god datastruktur? Avhengig av formålet God struktur for lagring er ikke nødvendigvis god struktur for analyse

Hva er god datastruktur? Avhengig av formålet God struktur for lagring er ikke nødvendigvis god struktur for analyse Forskjellige typer analyse kan forusette forskjellig struktur

Hva er god datastruktur? Avhengig av formålet God struktur for lagring er ikke nødvendigvis god struktur for analyse Forskjellige typer analyse kan forusette forskjellig struktur Forskjellig programvare kan forutsette ulik struktur for samme analyser...

Ryddig (tidy) data Et datasett er ryddig når: 1. Hver variabel utgjør en kolonne 2. Hver observasjon utgjør en rad (noe forenklet... )

Ryddig versjon av Tabell 1. name trt result John Smith a - Jane Doe a 15 Mary Johnson a 17 John Smith b 8 Jane Doe b 14 Mary Johnson b 12

Rotete data Datasett man treffer på i villmarken vil ofte bryte med prinsippene for ryddige datasett, og det på alle mulige måter. F.eks.: Kolonnenavn kan være verdier (ikke variabelnavn)

Rotete data Datasett man treffer på i villmarken vil ofte bryte med prinsippene for ryddige datasett, og det på alle mulige måter. F.eks.: Kolonnenavn kan være verdier (ikke variabelnavn) Flere variabler kan være lagret i én kolonne

Rotete data Datasett man treffer på i villmarken vil ofte bryte med prinsippene for ryddige datasett, og det på alle mulige måter. F.eks.: Kolonnenavn kan være verdier (ikke variabelnavn) Flere variabler kan være lagret i én kolonne Variabler kan være lagret i både rader og kolonner

Kolonnenavn kan være verdier religion <$10k $10-20k $20-30k $30-40k Agnostic 27 34 60 81 Atheist 12 27 37 52 Buddhist 27 21 30 34 Catholic 418 617 732 670 Don t know/refused 15 14 15 11 Evangelical Prot 575 869 1064 982 Hindu 1 9 7 9 Historically Black Prot 228 244 236 238 Jehovah s Witness 20 27 24 24 Jewish 19 19 25 25

Ryddig form religion income freq Agnostic <$10k 27 Agnostic $10-20k 34 Agnostic $20-30k 60 Agnostic $30-40k 81 Agnostic $40-50k 76 Agnostic $50-75k 137 Agnostic $75-100k 122 Agnostic $100-150k 109 Agnostic >150k 84 Agnostic Don t know/refused 96 Atheist <$10k 12 Atheist $10-20k 27 Atheist $20-30k 37 Atheist $30-40k 52

Flere variabler kan være lagret i én kolonne country year m014 m1524 m2534 m3544 m4554 11 AD 2000 0 0 1 0 0 37 AE 2000 2 4 4 6 5 61 AF 2000 52 228 183 149 129 88 AG 2000 0 0 0 0 0 137 AL 2000 2 19 21 14 24 166 AM 2000 2 152 130 131 63 179 AN 2000 0 0 1 2 0 208 AO 2000 186 999 1003 912 482 237 AR 2000 97 278 594 402 419 266 AS 2000 - - - - 1

Opprydding country year column cases AD 2000 m014 0 AD 2000 m1524 0 AD 2000 m2534 1 AD 2000 m3544 0 AD 2000 m4554 0 AD 2000 m5564 0 AD 2000 m65 0 AE 2000 m014 2 AE 2000 m1524 4 AE 2000 m2534 4 AE 2000 m3544 6 AE 2000 m4554 5 AE 2000 m5564 12 AE 2000 m65 10 AE 2000 f014 3

Opprydding country year sex age cases AD 2000 m 0-14 0 AD 2000 m 15-24 0 AD 2000 m 25-34 1 AD 2000 m 35-44 0 AD 2000 m 45-54 0 AD 2000 m 55-64 0 AD 2000 m 65+ 0 AE 2000 m 0-14 2 AE 2000 m 15-24 4 AE 2000 m 25-34 4 AE 2000 m 35-44 6 AE 2000 m 45-54 5 AE 2000 m 55-64 12 AE 2000 m 65+ 10 AE 2000 f 0-14 3

Variabler kan være lagret i både rader og kolonner id year month element d1 d2 d3 d4 d5 MX17004 2010 1 tmax - - - - - MX17004 2010 1 tmin - - - - - MX17004 2010 2 tmax - 27.3 24.1 - - MX17004 2010 2 tmin - 14.4 14.4 - - MX17004 2010 3 tmax - - - - 32.1 MX17004 2010 3 tmin - - - - 14.2 MX17004 2010 4 tmax - - - - - MX17004 2010 4 tmin - - - - - MX17004 2010 5 tmax - - - - - MX17004 2010 5 tmin - - - - -

Opprydding id date element value MX17004 2010-01-30 tmax 27.8 MX17004 2010-01-30 tmin 14.5 MX17004 2010-02-02 tmax 27.3 MX17004 2010-02-02 tmin 14.4 MX17004 2010-02-03 tmax 24.1 MX17004 2010-02-03 tmin 14.4 MX17004 2010-02-11 tmax 29.7 MX17004 2010-02-11 tmin 13.4 MX17004 2010-02-23 tmax 29.9 MX17004 2010-02-23 tmin 10.7

Opprydding id date tmax tmin MX17004 2010-01-30 27.8 14.5 MX17004 2010-02-02 27.3 14.4 MX17004 2010-02-03 24.1 14.4 MX17004 2010-02-11 29.7 13.4 MX17004 2010-02-23 29.9 10.7 MX17004 2010-03-05 32.1 14.2 MX17004 2010-03-10 34.5 16.8 MX17004 2010-03-16 31.1 17.6 MX17004 2010-04-27 36.3 16.7 MX17004 2010-05-27 33.2 18.2

Ryddige data - hva så? Ryddige verktøy: Ryddig input -> ryddig output Forenkler en sammensatt analyse siden output fra ett verktøy kan gis som input til et annet

Ryddige data - hva så? Ryddige verktøy: Ryddig input -> ryddig output Forenkler en sammensatt analyse siden output fra ett verktøy kan gis som input til et annet Kan potensielt forenkle de vanligste operasjoner på data: Manipulering (filtrering, transformering, aggregering, sortering) Plotting/visualisering (ggplot2) Modellering (f.eks regresjonsanalyse)

Oppsummering Vær bevisst hva du ønsker å bruke dataen til

Oppsummering Vær bevisst hva du ønsker å bruke dataen til Ingen fasit, bli kjent med mulighetene i ditt foretrukne verktøy

Oppsummering Vær bevisst hva du ønsker å bruke dataen til Ingen fasit, bli kjent med mulighetene i ditt foretrukne verktøy En konsistent måte å tenke dataorganisering og struktur gjør at man slipper å begynne fra scratch for hvert datasett

Oppsummering Vær bevisst hva du ønsker å bruke dataen til Ingen fasit, bli kjent med mulighetene i ditt foretrukne verktøy En konsistent måte å tenke dataorganisering og struktur gjør at man slipper å begynne fra scratch for hvert datasett Struktur bare én av mange utfordringer Takk for meg!