DATAØVING 2 – Introduksjon til Stata II

DATAØVING 2 – Introduksjon til Stata II
Oversikt
-
Målenivå
-
Målefeil
-
Å velge land (Split file)
-
Histogram, skewness & kurtosis
-
Box plot
-
Q-q plot
-
Missing
Målenivå
Det er viktig når man velger variabler man skal bruke at man er klar over hvilket målenivå de
er på. De ulike målenivåene vi kan grovt deles opp i to kategorier: diskré (også kalt
kategorisk) og kontinuerlige.
DISKRE/KATEGORISK
Gjensidig utelukkende
Kan rangeres
Kan si noe om avstaden
mellom verdiene
Naturlig nullpunkt
Nominal
X
Ordinal
X
X
KONTINUERLIG
Intervall
X
X
X
Forholdstall
X
X
X
X
Diskre/Kategorisk

Nominal: Enhetene kan bare klassifiseres i gjensidig utelukkende grupper. Verdiene
kan ikke rangeres på en logisk måte. Eksempel: ja/nei-spørsmål, yrke kjønn, land,
region.

Ordinal: I tillegg til å være gjensidig utelukkende, er det en logisk rangering av
variabelverdiene. Eksempler er holdningsspørsmål som ”Hvor interessert er du i
politikk?” hvor svaralternativene kan rangeres fra ”veldig interessert” til ”ikke
interessert i det hele tatt”. Kodet (1-2-3-4). Alternativene går som regel fra et
ytterpunkt til et annet, men vi kan ikke si noe nøyaktig om avstanden mellom
svarene.
1
Kontinuerlig

Intervall: Disse variablene kan utrykkes i tall, som kan plottes inn i en skala etter
hverandre, slik at de gir mening. Avstanden mellom svaralternativene har betydning,
det er mulig å spesifisere intervaller mellom verdiene. Eksempel: Temperatur, IQ.
 Forholdstall: Som intervall, men med en ekstra betingelse: Alternativene forholder
seg til et bestemt nullpunkt. Eksempel: Alder, antall år utdanning. Vekt, høyde,
inntekt, landareal, BNP per innbygger.
Hva har det å si?
For at den lineære regresjonsanalysen (OLS) skal gi matematisk mening, kreves det at den
avhengige variabelen er kontinuerlig. Men hvis en ordinal variabel har fem kategorier
(svaralternativer) eller flere, kan den i praksis behandles som en kontinuerlig variabel.
For avhengig variabel med to verdier bruker man logistisk regresjon. Denne skal kodes til
verdiene 0 og 1. Dere kan også bruke en variabel med flere verdier, og kode den om til to.
Mer om dette under! Det må være minst 10 % i den ene gruppen for å gjøre analysen. Det er
derfor viktig at du sjekker målenivået og ser på fordelingen på den avhengige variabelen din.
Målefeil
Det finnes to typer målefeil: tilfeldige og systematiske. De tilfeldige er vanskelige å hindre,
og vi kan for så vidt leve med dem. Disse følger ikke noe mønster. De systematiske
målefeilene følger derimot et mønster, og er et problem. De er et resultat av dårlige
målemetoder eller feilaktig oppfatning av sammenhengen mellom virkelighet og data.
Vi snakker om to typer troverdighet for vitenskapelig analyse:
Reliabilitet eller pålitelighet, er spørsmålet om gjentatte målinger med samme
måleinstrument gir samme resultat. Hvis man gjør det riktig, vil man få omtrent samme
resultat når man repeterer en bestemt type måling. Vil en annen forsker kunne få samme
resultat som deg hvis han bruker samme metode på samme utvalg? Når en skal vurdere
reliabiliteten av forskningen, vurderer en datasettets kvalitet.
Validitet eller gyldighet, er spørsmålet om en faktisk måler det man er ute etter å måle. Er det
sammenheng mellom indikatorene og det teoretiske begrepet du skriver om? Er dataene dine
en gjengivelse av egenskapene ved det du studerer?
2
Det første vi gjør er å starte en ny loggfil for øving 2 via menylinjen (se øving 1). Deretter slår
vi av «more» funksjonen:
Command: set more off  enter
Å velge land (Split file)
Når du laster ned ESS datasett fra it's learning inneholder dette alle landene som deltok i
undersøkelsen. For å se alle landene som inngår i dette ESS datasettet kan vi kjøre en
frekvenstabell. På øving 1 gjorde vi dette gjennom kommandovinduet, nå skal vi prøve dette
gjennom menyer, trykk:
Statistics  Summaries, tables and tests  Frequency tables  one-way table
I boksen "Categorical variable" skriver vi inn variabelnavnet (cntry) eller velger den fra
variabellista. Trykk OK.
Vi har nå fått opp en tabell med alle landene som er inkludert i dette ESS datasettet, navngitt
med bokstavkoder. Hvilke land de ulike bokstavkodene representerer finner man på
nettsidene til ESS. Det er også lagt ut en oversikt over bokstavkodene til landene som er med i
ESS6 i mappa «dataøvinger» på its learning.
Av tabellen ser vi at blant annet er Norge (NO) og Polen (PL) med:
3
Til oppgaven din vil du mest sannsynlig bare se på ett, to eller tre land. Dette betyr at du må
fjerne resten av landene. For eksempel hvis du ønsker å se på helse og fysisk aktivitet i
Skandinavia vil du kanskje bare beholde Norge, Sverige og Danmark – mens du fjerner resten
av de europeiske landende fra analysene. Det er to kommandoer du kan bruke til dette: keep
og drop. Med den første må du spesifisere hvilke land du vil beholde, mens med drop forteller
du Stata hvilke land du vil fjerne.
Med begge kommandoene må du spesifisere hvilke respondenter du vil beholde eller fjerne,
dette gjør du med å skrive if condition ==value før verdien du vil beholde/fjerne. Condition
referer her til en variabel, i dette tilfellet cntry (land). Value referer til en spesifikk verdi. For
eksempel kan du skrive drop if agea<18 for å fjerne alle respondenter under 18 år.
4
Først og fremst er det viktig at du har en sikkerhetskopi av datafilen. Dette er ikke så viktig
når du bruker datafil fra its learning, da du alltid har en "sikkerhetskopi" liggende der.
Variabelen cntry måler hvilket land respondentene er fra i ESS. Når du har funnet
bokstavkoden for landene du vil benytte kan vi skrive inn kommandoen. Vi skal nå beholde
Norge (NO) og Polen (PL):
For å beholde flere land, for eksempel Norge og Polen skriver du bare inn "|" etter landet og
legger til ny kode, for eksempel:
Command: keep if cntry =="No"|cntry=="PL"  Enter
På denne måten kan du legge til flere land etter Polen hvis du ønsker det. For å beholde kun
ett land. Vi sjekker om vi har gjort det riktig med å kjøre en frekvenstabell for cntry:
Statistics  Summaries, tables and tests  Frequency tables  one-way table
Vi skal nå kun beholde respondenter fra Norge:
Command: keep if cntry == "NO"  Enter
Statistics  Summaries, tables and tests  Frequency tables  one-way table
Når vi nå kjører frekvensstatistikk for cntry vil vi få opp denne tabellen:
5
Historgram, skewness & kurtosis
Grafikk er en viktig årsak til Statas popularitet. Histogrammer kan lages både i menyer og
med kommandoer. Vi skal gjøre et eksempel med kommandoer. Du kan lese mer om hvordan
man lager historgrammer i menyer i Midtbø (2012) og Acock (2014).
Frekvensstatistikk gir en tallmessig oversikt over variablene våre. Dette kan også fremstilles
grafisk ved hjelp av et histogram. Å studere en variabel fremstilt i et histogram er kanskje den
enkleste måten å sjekke om en variabel er normalfordelt på. Det er viktig å sjekke
normalfordelingen på variablene dere velger til oppgaven (dette gjelder kontinuerlige
variabler og ordinalvariabler som skal behandles som kontinuerlige). Hvis den avhengige
variabelen ikke er normalfordelt kan det bli et problem for dine statistiske analyser. Vi skal nå
lage et histogram for variabelen eduyrs, som måler utdanningsnivå (antall år):
Command: histogram eduyrs  enter
Med denne kommandoen får vi opp et nytt vindu i STATA som viser et histogram for
variabelen eduyrs.
6
Vi kan også be Stata om å legge til normalfordelingskurven på histogrammet ved å legge til
kommandoen normal:
Command: histogram eduyrs, normal width (1)  enter
width forteller Stata hvor bred hver stolpe skal være i histogrammet (i dette tilfellet 1). Dette
er rent estetisk.
7
Vi ser av histogrammet og normalfordelingskurven at variabelen eduyrs ikke er helt
normalfordelt, men tilnærmet normalfordelt i alle fall. Å dømme hvorvidt en variabel er
normalfordelt eller ikke basert på et histogram vil alltd være noe subjektivt. Et mer objektivt
mål på en variabels normalfordeling er skewness (skjevhet) og kurtosis (kurtose) som måles i
tallverdier. Vi kan dermed sette ett tallmessig kriteria for hva som er problematisk når det
gjelder normalfordeling. Vi kan bruke både tabstat og summarize her. La oss prøve med en
annen variabel – tvtot (måler hvor mye man ser på TV i hverdagen):
Command: tabstat tvtot, statistics (skew kurtosis)  enter
8
Command: summarize tvtot, detail  enter
Hovedforskjellen ved å bruke disse to kommandoene er at med tabstat kan man enklere
sammenlikne verdiene til flere variabler.
Verdiene for skew (skjevhet) og kurtosis (kurtose) er begge ganske gode for variabelen tvtot.
På 0.02 er det minimalt med skjevhet i variabelen (0 er ingen skjevhet/skew og en
skjevhet/skew over +/- 2 er generelt problematisk). En kurtose/kurtosis på over 10 gir grunn
til bekymring (Midtbø, 2012; Acock, 2014). I Stata er kurtose/kurtosis sentrert på 3 som betyr
at om variabelen har en kurtose på 3 er variabelen perfekt normalfordelt. En lavere
kurtoseverdi betyr at spredningen i variabelen er bredere enn den burde være, mens en høy
kurtoseverdi betyr at den er "tung" rundt midten (altså er verdiene i midten av variabelen mer
vanlig enn de bør være i en normalfordeling). Selv om skew/skjevhet og kurtosis/kurtose har
9
gode verdier kan vi fortsatt ha problemer med uteliggere/outliers (ekstremverdier). For å
undersøke dette kan vi bruke et box plot. Først skal vi gå gjennom en tredje måte å få en
grafisk fremstilling av normalfordelingen på (q-q plot).
Oppsummering så langt
Frequencies: viser oss antall respondenter innen hver verdi på variabelen.
Skewness: forteller oss noe om plasseringen av gjennomsnittet. Hvis skewness er 0 er
gjennomsnittet i midten av distribusjonen, altså er variabelen normalfordelt.
Kurtosis: forteller oss noe om hvor jevn fordelingen er. Hvis kurtosis er positiv vil det meste
av utvalget være rundt gjennomsnittet. Hvis kurtosis er negativ vil flere respondenter ha mer
perifere verdier
Histogram: viser oss frekvensfordelingen grafisk. I dette tilfellet har vi en litt negativt skjev
distribusjon, men for vår analyse så antar vi at den er normalfordelt.
Q-Q Plot (Q-normal plot)
En annen måte å undersøke normalfordelingen til en variabel er å bruke Q-Q plots. Disse
sammenligner fordelingen av en variabel mot en teoretisk normalfordeling. Et q-q-plot viser
tydeligere hvordan en variabel avviker fra normalfordelingen enn hva et histogram gjør. Hvis
variabelen er normalfordelt skal verdiene ligge langs 45-graderslinjen i dette plottet. Linjen
representerer altså normalfordelingen. Kommandoen for grafen er qnorm. Vi prøver nå med
variabelen tvtot:
10
Command: qnorm tvtot  enter
Q-q plottet viser at tvtot er tilnærmet normalfordelt, med noen uteliggere i begge ender.
Vi prøver et nytt eksempel med variabelen agea, alder:
Command: qnorm agea  Enter
11
Agea har en kurtoseverdi på under 3 (2.16), som vi også ser her fra S-formen på q-q plottet.
Det er også et par prikker i begge ender av S-formen, disse indikerer uteliggere
(ekstremverdier).
Box plot
Fram til nå har vi konsentrert oss om gjennomsnitt og standardavvik. Men gjennomsnittet kan
bli sterkt påvirket av uteliggere. Dette gjør at vi i noen tilfeller bør undersøke medianen og
kvartilene. Et boksplott kan fortelle oss om sentraltendens, spredning, symmetri og
ekstremverdier (uteleiggere). Kommandoen i Stata er graph box. Vi skal nå lage et box plot
for variabelen eduyrs, utdanning:
Command: graph box eduyrs  Enter
12
Boksen er definert av rektangelet midt i figuren. De to loddrette strekene ovenfor og nedenfor
boksen kaller vi "værhårene" og avsluttes med to horisontale linjer som blir kalt "gjerder". I
en symmetrisk fordeling er værhårene like lange. Dersom boksen og værhårene er presset
sammen i bunnen av figuren, slik som her, er fordelingen høyreskjev. Enheter på utsiden
ansees som ekstremverdier (eller uteleiggere) og er angitt med prikker. Av boksplottet for
eduyrs ser i at det bare er et par verdier som ansees som ekstreme. I dette tilfellet er det
sannsynligvis ikke problematisk. Dere kan lese mer om uteliggere og ekstreme verdier i
Acock (2014) på side 283.
Missing
En av statistikkens grunnregler er at jo flere enheter som tas med i analysen, jo bedre er det.
For at utvalgene vi studerer kan kunne fortelle oss noe om populasjonen vi studerer er det
viktig at den enkelte variabel ikke har for mange ”missing values”, personer som har unnlatt å
svare på det spesifikke spørsmålet – disse vil nemlig ikke bidra med noe til analysen.
13
Hvis man har altfor mange missing values vil dette skape en skjevhet i resultatene dine. Sjekk
derfor alltid om variablene dine har mange ”missing”!
For å spesifisere missing values som missing må vi kunne identifisere verdiene som er
missing. For å gjøre dette i Stata er summarize og tabulate oneway gode kommandoer.
Vanlige verdier for missing er høye doble og triple tall (for eksempel 99, 888, 77). Hvis det er
et svaralternativ som for eksempel "don't know", "no answer" eller liknende, så er dette
missing values – men vi må også kunne identifisere deres tallverdi for å kunne omkode dem.
For å få verdiene på disse svaralternativene må vi bruke kommandoen nolabel sammen med
tabulate oneway. Vi prøver både med og uten nolabel:
Command: tabulate trstprl  enter
14
Command: tabulate trstprl, nolabel  enter
Istedenfor at den høyeste og laveste verdien sier "no trust" og "complete trust" står det nå bare
0 og 10. Der det sto "don't know" står det nå 88 – det vil si at 88 er tallverdien for
svaralternativet "don't know". I neste dataøving skal vi gå gjennom omkodinger og da er det
nyttig å kunne identifisere slike svaralternativer som "don't know" og "no answer" slik at vi
kan omkode variablene våre til å ekskludere disse missing values.
15
Stata kommandoer fra øving 2
Kommando
Forkortelse
histogram
Anvendelse
Histogram over en variabels
normalfordeling
histogram normal
Histogram med
normalfordelingskurve
Summarize x, detail
su x, d
graph box
Box plot
qnorm
q-q plot
(skew kurtosis)
Får opp skewness og kurtosis
verdier når de anvendes med
tabstat x, statistics
keep if
Beholde respondenter
drop if
Fjerne respondenter
nolabel
Tallverdier istendenfor labels
– brukes sammen med
tabulate oneway
width
Angi bredde på stolpene i
histogrammet (estetisk)
16