Presentation laddar. Vänta.

Presentation laddar. Vänta.

U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 2 En introduktion till R R är en mjukvara för mestadels statistiska analyser.

Liknande presentationer


En presentation över ämnet: "U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 2 En introduktion till R R är en mjukvara för mestadels statistiska analyser."— Presentationens avskrift:

1

2 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R R är en mjukvara för mestadels statistiska analyser Använder ett eget progammeringsspråk Bygger på en ”bas” och 100-tals tillägg (”packages”)

3 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R Öppna R File / New script

4 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R Ange “working directory” Klicka i R-fönstret: File / Change dir...

5 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R Skriv kommandon i script-fönstret A< B<- A + 5 Placera pekaren på en textrad och tryck Crtl-R för att skicka kommandot till R I R: ”A” kommer nu att ha värdet 4 (=1+3) A

6 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R Lägg till egna kommentarer efter # tecknet A< A B<- A + 5 #B is number of... # My script for analysing...

7 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R Att läsa in data Tilldela ett namn till ditt dataset t.ex. MinaData MinaData<- read.table (“kemi txt", header = TRUE, sep=“\t") Placera pekaren på textraden och tryck Crtl-R för att skicka kommandot till R > A [1] 4 > B <- A + 5 #B is number of... > # My script for analysing... > MinaData<- read.table (“kemi89-05.txt", header = TRUE, sep=“\t“) I R: ”MinaData” kommer nu att innehålla dina data

8 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R För att titta på ett dataset: MinaData I R: ”MinaData” skrivs ut Placera pekaren och tryck Crtl-R för att skicka kommandot till R

9 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R För att kontrollera ett dataset: summary(MinaData) names(MinaData) head(MinaData) str(MinaData) I R: Olika sammafattnigar av MinaData Placera pekaren och tryck Crtl-R

10 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R Känsligt för stor/liten bokstav! Summary(MinaData) Names(MinaData) Str(MinaData) In R: Error-meddelande Placera pekaren och tryck Crtl-R

11 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R Spara kommandofilen för återanvändning! A< B<- A + 5 MinaData<- read.table (“kemi txt", header = TRUE, sep=“\t”) MinaData summary(MinaData) names(MinaData) str(MinaData)

12 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R Ett annat sätt att specificera “working directory” setwd(”C:/Users/Ulf/lst-kurs/R”) setwd(“C:/Users/Ulf/lst-kurs/R”)

13 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R RStudio gör det enklare att arbeta i R: •Freeware •Integrerar R och script-editor •Öppnar R automatiskt •Tillgång till hjälpfiler i samma fönster •Plottar i samma fönster •Lätt att inspektera data •m.m.

14 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna En introduktion till R RStudio gör det enklare att arbeta i R Script-fönster Ctrl-Enter för att skicka kommandon till R R-fönster Plottar Hjälp Filer Etc. Dataset Variabler

15 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna Standardsätt att läsa in data Rådata i Excel Spara som text (tab-separerad) I R: setwd(“C:/Users/Ulf/…”)# där filen är sparad mydata<-read.table(“mydata.txt”, header = TRUE, row.names = 1, sep =“\t“, dec =“,”, na.strings=“x”) # ersätt x med din symbol för saknat värde str(mydata) # För att inspektera datasetet

16 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna Standardsätt att läsa in data Att läsa in ett dataset utan rad- och kolumnnamn In R: setwd(“C:/Users/Ulf/…”) mydata<-read.table(“mydata.txt”, header = FALSE, row.names = NULL, sep =“\t“, dec = “,”,na.strings=“x”) str(mydata) # För att inspektera datasetet

17 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Datakvalitet Datakvalitet och egenskaper

18 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Datakvalitet Fyra olika dataset gav följande samband: y = 3 + 0,5 × x r 2 = 0,67 p = 0,002 Finns det ett samband mellan x och y?

19 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Datakvalitet Titta på data:

20 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Bedömning av datakvalitet •Finns det skrivfel? •Finns det saknade värden eller saknade perioder? •Finns det avvikande värden (Outliers) eller avvikande perioder? •Finns det tillräckligt med data? •Finns det brytpunkter i serien?

21 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Datamaterialets egenskaper •Hur ser data ut? •Är observationerna oberoende? •Finns det värden under en eller flera detektionsgräns(er)? •Vilken fördelning har observationerna?

22 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Ytterligare problem vid analys av data •Homogenitet i Y •Många nollor i Y •Samvariation i X

23 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Always good to have a look at the relationships! Hur ser data ut? Stationsnam n Stationsko ordinat N/X Stationsko ordinat E/Y Stationsty pProvdatum Provtagnin gs? Provtagnin gsm?ad Provtagnin gsdag Min Provdjup (m) Max Provdjup (m) SO4_IC (mekv/l)TOC (mg/l)Cl (mekv/l) NO2_NO3 _N (?g/l) Kjeldahl_N (?g/l)Si (mg/l) NH4_N (?g/l) Ca (mekv/l) Kond_25 (mS/m25)pH () PO4_P (?g/l) Mg (mekv/l) Abs_OF (420nm/5c m) Fluorid (mg/l) Tot_N_ps (?g/l) Alk (mekv/l)K (mekv/l) Abs_F (420nm/5c m) Na (mekv/l) Alelyckan Vattendra g ,5 0,2654,90, ,81290,3759,577,1570,1350,1880,119940,260,0320,0460,316 Alelyckan Vattendra g ,5 0,274,20, ,28180,3759,877,1750,1390,1270,128710,2690,030,0450,329 Alelyckan Vattendra g ,5 0,2645,70, ,43200,389,67,1230,1340,1770,18460,260,0280,0460,305 Alelyckan Vattendra g ,5 0,26240, ,7130,3839,77,2240,140,1120,118780,2670,0310,0360,331 Alelyckan Vattendra g ,5 0,2564,10, ,56100,3789,417,0860,140,1570,117620,2670,0310,0490,298 Alelyckan Vattendra g ,5 0,2574,50, ,98100,3719,197,1140,1330,1560,17620,2550,0280,0440,291 Alelyckan Vattendra g ,5 0,2514,90, ,75100,3699,297,4850,130,1310,17300,2620,030,0340,287 Alelyckan Vattendra g ,5 0,2614,10, ,46190,389,197,6130,1290,1 6640,2710,030,0280,289 Alelyckan Vattendra g ,5 0,2654,30, ,27140,3839,217,2920,1320,070,117010,2680,0310,0290,293 Alelyckan Vattendra g ,5 0,2644,60, ,6480,3699,13730,1320,1180,156740,2710,0310,0420,293 Alelyckan Vattendra g ,5 0,2554,30, ,44230,389,317,1530,1330,1060,17680,2740,0310,0380,295 Alelyckan Vattendra g ,5 0,2524,80, ,57320,3619,427,1690,1340,1310,128740,2630,0310,0540,304 Alelyckan Vattendra g ,5 0,2584,90, ,29230,3789,617,210,1410,1590,118750,2650,0330,0560,32 Alelyckan Vattendra g ,5 0,2543,90, ,86180,3719,467,1840,1360,1520,126970,2680,0320,0510,316 Alelyckan Vattendra g ,5 0,2574,50, ,75140,3799,177,2230,1340,1450,129270,2480,0330,0510,299 Alelyckan Vattendra g ,5 0,2544,60, ,55170,3749,987,2650,1430,20,078930,2820,0330,0450,317 Alelyckan Vattendra g ,5 0,2574,30, ,38130,3839,317,3910,1390,1170,117300,2790,0290,0330,294 Alelyckan Vattendra g ,5 0,2534,20, ,5140,3779,557,3520,1390,1410,116980,2760,030,0330,308 Alelyckan Vattendra g ,5 0,264,70, ,28170,3749,487,3690,1290,1230,117030,2710,0270,0310,295 Alelyckan Vattendra g ,5 0,2584,30, ,48130,3759,027,1950,1330,1060,118830,280,030,0470,285 Alelyckan Vattendra g ,5 0,2344,70, ,62110,3658,857,240,1350,1190,118670,260,0320,0560,312 Alelyckan Vattendra g ,5 0,23640, ,23150,3698,687,3340,1350,0870,117330,2710,0310,0420,302 Alelyckan Vattendra g ,5 0,2324,60, ,28220,3549,157,3140,1310,1010,126480,2780,030,0250,301 Alelyckan Vattendra g ,5 0,2414,90, ,35490,3728,197,2370,1370,1320,16130,2810,0310,040,307 Alelyckan Vattendra g ,5 0,2334,60, ,35350,3729,337,08100,1380,2430,116000,3160,040,0490,338 Alelyckan Vattendra g ,5 0,2334,70, ,15430,3689,377,1960,1340,0890,125640,3170,0330,0290,336 Alelyckan Vattendra g ,5 0,2015,30, ,55260,3569,067,1190,1290,30, ,3130,0340,0720,304 Alelyckan Vattendra g ,5 0,214,20, ,54170,3518,67,4550,1170,1060, ,3020,0310,040,275 Alelyckan Vattendra g ,5 0,2144,30, ,46190,3528,857,1450,120,1040, ,3160,0320,0340,285 Alelyckan Vattendra g ,5 0,4294, ,65270,43842,77,2460,6080,1470, ,3280,0830, Alelyckan Vattendra g ,5 0,6774, ,59230,54273,67, ,1470, ,3550,1310, Alelyckan Vattendra g ,5 0,214,60, ,61180,3668,987,2780,1240,1440, ,3150,0310,0340,288 Alelyckan Vattendra g ,5 0,2035,20, ,34200,3488,987,28130,1290,230, ,3040,0350,0720,295 Alelyckan Vattendra g ,5 0,214,20, ,54170,3518,67,4550,1170,1060, ,3020,0310,040,275 Alelyckan Vattendra g ,5 0,2144,30, ,46190,3528,857,1450,120,1040, ,3160,0320,0340,285 Alelyckan Vattendra g ,5 0,4294, ,65270,43842,77,2460,6080,1470, ,3280,0830, Alelyckan Vattendra g ,5 0,6774, ,59230,54273,67, ,1470, ,3550,1310, Alelyckan Vattendra g ,5 0,214,60, ,61180,3668,987,2780,1240,1440, ,3150,0310,0340,288 Alelyckan Vattendra g ,5 0,2035,20, ,34200,3488,987,28130,1290,230, ,3040,0350,0720,295

24 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Hur ser data ut? •Avvikande värden •Är vissa av observationerna i fel enhet? •Nollor– mätvärde eller saknat värde? •Fördelning •Typ av samband •Saknade värden / felkodade värden •Trender

25 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Skrivfel Första kontroll av ett dataset bör omfatta: •Har alla variabler rätt typ •Numerisk / Text / Heltal, etc. •Medel-, max- och minvärden •Är dessa inom rimliga gränser? •Hur kodas saknade värden? •Tom cell, 0, -99, punkt…

26 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Skrivfel Vanliga misstag: •Decimalkomma eller -punkt: 3,14 eller 3.14 •Mellanrum eller apostrofer i nummer: eller 10’236 •”Censurerade värden”, t.ex. <100 •Byte av enhet mitt i en kolumn:  g × l -1 till mg × l -1 •Feltolkning av noll (0): mätvärde i stället för saknat värde •Kolumnfel vid import av data

27 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 str(data3_err) # Visar vilken typ av data man har (här i datasetet kallat ”data3_err”) 'data.frame':11 obs. of 7 variables: $ Y : int $ X1 : num NA NA... $ X2 : Factor w/ 8 levels "<3","5","6","7,25",..: $ X3 : Factor w/ 11 levels "","12,9","5,5",..: $ X4 : num $ Rnd : num NA NA $ X1_corr: num # Variabel X2 och X3 verkar ha något fel eftersom den anges som en faktor # Titta på X2 och X3 (dvs. kolumn 3 och 4) R-kod

28 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 # Titta på X2 och X3 (dvs. kolumn 3 och 4) data3_err[,3:4] X2X3 1<35,5 255,85 366,2 47,25 NA 586,9 68, ,6 89,257,95 998,3 108,7512, R-kod # Slutsats: förmodligen något fel med decimal-avskiljare (7.25 i X3) samt ett mindre-än-tecken i X2. # Öppna datafilen (i Excel etc.) och rätta! # Decimalfelet rättat och mindre-än-tecknet borttagen i filen "without_errors.txt"

29 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 > colSums(data3_no_err, na.rm=TRUE) # Summerar de olika kolumnerna YX1X2X3X4RndX1_corr > rowSums(data3_no_err, na.rm=TRUE) # Summerar de olika raderna. [1] # Slutsats: Väldigt hög summa i rad 3/kolumn Rnd. R-kod

30 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 R-kod Summa per rad plot(seq(1:nrow(data3_no_err)), rowSums(data3_no_err, na.rm=TRUE), type = "h") # plot(x, y, type = “h”)

31 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 •Antal saknade värden •Mönster hos saknade värden Saknade värden

32 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 •Hur gör man när man har saknade värden? •Kan modelleras (imputeras) om de saknade värdena är: •Få •Slumpmässigt placerade •Ta bort hela kolumner eller rader om saknade värden är koncentrerade till några områden! Saknade värden

33 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Hur modelleras saknade värden? •Använd tidigare kunskap och gör en god gissning •Fyll i median eller medelvärde •Använd någon form av regression Saknade värden

34 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Saknade värden •Enstaka, slumpvis fördelade saknade värden = inget stort problem •Systematiska luckor i data = problem •Var medveten om hur ditt program och din metod hanterar saknade värden: •Tar bort hela raden •Tar bort hela kolumnen •Modelleras (imputeras) •Inget program ”klarar av” saknade värden!

35 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 # Antal saknade värden per kolumn colSums(is.na(data3_no_err)) Y X1 X2 X3 X4 Rnd X1_corr # Antal saknade värden per rad rowSums(is.na(data3_no_err)) # Tabell som visar var det finns saknade data. ! = är inte data3_no_err[!complete.cases(data3_no_err),] > data3_no_err[!complete.cases(data3_no_err),] RowYX1X2X3X4RndX1_corr 47NA7.25NA6.75NA NA NA R-kod

36 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 # Sätt att ersätta saknade värden med rad-medelväden: # OBS!! Bör inte användas som standardmetod!!! data3_no_miss_r<-as.data.frame(t(apply(data3_no_err, 1, function(x) {x[is.na(x)] = mean(x, na.rm = TRUE); x}))) # Sätt att ersätta saknade värden med kolumn-medelväden: #OBS! Bör inte användas som standardmetod!!! data3_no_miss_c<-as.data.frame(apply(data3_no_err,2, function(x) {x[which(is.na(x))] <- mean(x,na.rm=TRUE);x})) R-kod

37 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Med saknade värden

38 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 ”na” ersatt med kolumnmedel

39 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 ”na” ersatt med radmedel

40 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Avvikande värden •Stort problem i vissa statistiska metoder •Litet eller inget problem i andra metoder Vagt definierat som ett avvikande värde

41 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Hur hittar man avvikare? Box plot Cleveland plot, observerat värde mot radnummer

42 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 # Boxplots data33 <- melt(data3_no_err, id="Y") # För omstrukturering av datasetet boxplot(value~variable,data=data33, notch=F, main="Boxplot, dataset 2", outline=TRUE) # Celveland plot dotchart(as.matrix(data3_no_err), main="Celveland plot, dataset 2 with outlier", gcolor=c(1:6), lcolor=col(data2), xlab="Observerd value") dotchart(as.matrix(data2), main="Celveland plot, data set 2. Outlier removed", gcolor=c(1:6), lcolor=col(data2), xlab="Observerd value") R-script, avvikande värden

43 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Boxplot

44 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Cleveland plot

45 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Cleveland plot

46 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Avvikande värden •Visuell inspektion av data •Grubbs test •Relaterat till t-test. Avgör om ett värde tillhör samma statisiska population som resten av värdena. •Flera andra test för kontroll av avvikande värden •Finns även för multivariata data

47 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 # Grubb's test för en variabel (Rnd i deta fall) grubbs.test(data3_no_err$Rnd) >Grubbs test for one outlier data: data3_no_err$Rnd G = , U = , p-value = 2.733e-11 alternative hypothesis: highest value 101 is an outlier R-kod

48 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 # För att skanna alla variabler med Grubbs test do.call("rbind", with(data33, tapply(value, variable, function(x) + unlist(grubbs.test(x)[c("statistic", "p.value", "alternative")])))) Varstatistic.Gstatistic.Up.valuealternative X lowest value 4.25 is an outlier X lowest value 3 is an outlier X highest value 12.9 is an outlier X highest value 12.7 is an outlier Rnd e-11highest value 101 is an outlier X1_corr lowest value 4.24 is an outlier R-kod Grubbs test

49 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Avvikande värden - multivariata data •Beräkna avståndet mellan alla prover •Gör ett diagram över frekvens-fördelningen av medelavstånden från varje punkt till varje annan punkt

50 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Avvikande värden - multivariata data

51 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 När tar man bort avvikande värden? •Uppenbara felaktigheter •Endast om avvikande värden påverkar analysen •Mindre riskabelt i stora dataset •Borttagning måste baseras på ämneskunskap (miljö, biologi, kemi, etc.) När tar man inte bort avvikande värden? •Om det avvikande värdet är korrekt och visar sanna variationen •När analysen inte påverkas av avvikande värden •Bör övervägas vid små dataset

52 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Sammafattning avvikande värden •Avvikare kan identifieras med visuell inspektion och statistiska tester •Om ett värde ska uteslutas baseras mest på kunskap om det man studerar

53 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Censurerade data Värden över/under detektionsgränsen •lägsta koncentration en analysmetod klarar av •när siktdjup > vattendjup Förslag på lösning: •Om få och slumpmässigt fördelade: Ta bort •Om få, ersätt med halva detektionsgränsen •Använd icke-parametriskt test (rang-baserat) •Maximum-likelihood metoder Se även miljostatistik.se för förslag på lösning!

54 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Datamaterialets egenskaper •Finns det brytpunkter i serien? •Vilken fördelning har observationerna? •Har datasetet många nollor?

55 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Finns det brytpunkter i en dataserie? •Utan hänsyn till brytpunkten: •Y = α + β×X + ε •Bra samband mellan X 1 och Y •Med hänsyn till brytpunkten: •Y = α + β 1 ×X 1 + β 2 ×X 2 + ε •Inget samband mellan X 1 och Y. •Brytpunkten (X 2 ) signifikant R 2 =.42 P <.001 P(x1) = 0.12 P(x2) <.001 FöreEfter När vi vet att det finns en brytpunkt

56 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Finns det brytpunkter i en dataserie? Brytpunkt: •I medelvärde •I variation •Orsak till brytpunkt måste undersökas •Viktigt resultat i sig!

57 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Finns det brytpunkter i en dataserie? Se för metoder för att upptäcka okända brytpunker!www.miljostatistik.se

58 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Vilken fördelning har mina data? •Många statistiska tester förutsätter normalfördelade data, t.ex. •ANOVA •regression •t-test •Andra tester har inga krav på fördelning (men flera kräver att stickprovsstorleken är tillräcklig): •Multivariata metoder •Icke-parametriska tester •Chi-två tester

59 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Vilken fördelning har mina data? •Visuell inspektion •Många statistiska tester av normalfördelning Goodness-of-Fit Test Shapiro-Wilk W Test W Prob

60 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Vilken fördelning har mina data? Om data inte är normalfördelade: •Transformera data – om lämpligt •Använd andra statistiska tester, t.ex.: •Icke-parametriska tester •Generalized linear model (GLIM), (avancerad statistik)

61 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Vilken fördelning har mina data? Transformering inte alltid lämpligt! Exempel på aktivitet hos en fågelart, under olika årstider Alla data Goodness-of-Fit Test Shapiro-Wilk W Test W Prob

62 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Vilken fördelning har mina data? Transformering inte alltid lämpligt! Dela upp ett dataset i faktorer för att kontrollera HonorHanar Vår Sommar Vinter Alla data Goodness-of-Fit Test Shapiro-Wilk W Test W Prob

63 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Många nollor Kallas ibland “zero inflated data” Kan ställa till problem Det finns statistiska tester för dataset med många nollor Problem vid analys av förekomstdata: “Dubbel frånvaro”

64 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Många nollor Den gröna blomman saknas i yta 2 och 3 Vilket är det ”ekologiska avståndet” mellan yta 2 och 3? •Ligger ytorna bredvid varandra •Ligger en yta i tropikerna och en Arktis? Går inte att svara på!

65 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Ytterligare problem vid analys av data •Är observationerna oberoende? •Homogenitet i Y •Pseudosamband •Samvariation i X •Finns det tillräckligt med data?

66 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Beroende observationer De flesta statistiska tester förutsätter att variablerna är oberoende av varandra! Om inte, måste detta tas med vid analys av data! Exempel: •Hierarkiska försöksupplägg •Naturreservat i länet – Våtmarker i reservaten – Provytor i våtmarkerna •Upprepad provtagning i samma objekt •Tidsseriedata på vattenkemi •Personpåverkan •Mindre variation mellan prover tagna av samma protagare, än mellan två slumpvis utvalda provtagare

67 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Beroende observationer Upprepade mätningar på samma objekt •Måste ofta beaktas vid analys! •”Repeated measure anova”, ”Mixed models” Exempel med fågeldata, men kön utbytt mot ”före” och ”efter”. Data från 60 individer. Mätta före och efter en behandling. Fråga: Har vikten förändrats över tiden?

68 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Beroende observationer Upprepade mätningar på samma objekt •Finns många sätt att ta hänsyn till beroendet •Här ett enkelt exempel # Modell för att undersöka om vikt ändrat sig över tid rep.vikt <- aov(vikt2 ~ Season * tid + Error(id), data = data7) summary(rep.vikt) # ”id” kodar för varje enskild individ. Samma "id" = samma fågel, # före och efter behandling

69 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Beroende observationer Upprepade mätningar på samma objekt Error: id Df Sum Sq Mean Sq F value Pr(>F) Season <2e-16 *** Residuals Error: Within Df Sum Sq Mean Sq F value Pr(>F) tid *** Season:tid < 2e-16 *** Residuals Här har vi konstruerat ett problem. Vi ser att det finns skillnader mellan säsonger och att vikten minskar med tiden för vinter-data, men ökar (kanske) under vår och sommar. Separata test måste göras för säsongerna för att avgöra vad som är signifikant.

70 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Beroende observationer > summary(rep.vikt2) # Med hänsyn till upprepade mätningar Error: id Df Sum Sq Mean Sq F value Pr(>F) Season <2e-16 *** Residuals Error: Within Df Sum Sq Mean Sq F value Pr(>F) tid *** Season:tid < 2e-16 *** Residuals # Modell utan hänsyn till upprepade mätningar Df Sum Sq Mean Sq F value Pr(>F) Season < 2e-16 *** tid Season:tid ** Residuals

71 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Beroende observationer Observationer kan vara beroende på olika sätt. Hur det bäst hanteras i analysen beror på frågeställning och hur datamaterialet är insamlat (= hur beroendet ser ut). I R finns ett antal olika paket som kan hantera sådana fall. Vilket som ska väljas beror igen på frågeställning och datamaterial. Excel kan inte hantera beroende data. De flesta statistikprogram inkluderar vissa typer av mixed models, dvs de kan hantera vissa typer av beroende. Har ni något datamaterial med berodende data och vill gå igenom analysen under workshopen – hör av er.

72 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Beroende observationer Koncentrationen av X ska undersökas i regionens sjöar: 7 sjöar väljs ut slumpmässigt = replikat I varje sjö väljs 10 olika platser = flera bestämningar per replikat För den statistiska analysen krävs replikat (t.ex. Medelvärdet av de 10 platserna per sjö). Att använda alla 70 observationer som om de vore oberoende leder till felaktiga resultat (pseudoreplikation). De olika bestämningar kan dock användas för att skatta variationen inom sjöarna och för att göra medelvärdet per sjö säkrare.

73 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Beroende observationer Koncentrationen av X ska undersökas i en sjöar: I sjön väljs 10 olika platser = replikat Eftersom det här är intressant att titta på förhållandena en en sjö blir de olika platserna replikat.

74 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Heterogenitet i variansen av Y (responsen) = Heteroskedasticity Variationen i Y-led måste vara lika stor för alla X Testas enklast genom plot av residualer mot predikterat Y Test och konfidensintervall kan inte användas från en sådan regression!

75 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Heterogenitet i variansen av Y (responsen) = Heteroskedasticity Eftersom test och konfidensintervall baseras på en skattning av (residual-)variansen går de inte att använda i det här fallet. Variansen överskattas för låga värden och underskattas för höga värden.

76 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Heterogenitet i Y Transformering av Y kan ta bort heterogeneiteten Log-transformationKvadratrots-transformation I det här fallet försämras normalfördelningen av residualerna vid log- transformation. Kvadratrot fungerar bättre.

77 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Heterogenitet i Y Viktad regression kan vara lämpligt i vissa fall: Vanlig regressionViktad regression Observera att data här är ganska extrem. Även i det transformerade eller viktade fallet ser det inte riktigt bra ut. Den viktade regressionen är att föredra då den inte påverkar normalfördelningen.

78 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Diagnostik av regressioner Att kontrollera om varianserna är homogena är ett steg i diagnostiken för residualer i en linjär modell. Andra saker att titta på: -Normalfördelning -Outliers -Leverage points -Sambandets form

79 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Diagnostik av regressioner Normalfördelning: QQ-plot Om punkterna följer den sträckade linjen är data normalfördelat. Små avvikelser i ändarna av datamaterialet är inget stort problem. Tydliga mönster som avviker från linjen tyder på en annan fördelning. Ej normalfördelat 

80 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Diagnostik av regressioner Outliers, Leverage points Cook’s distance och leverage indikerar om enstaka datapunkter har stort inflytande på modelanpassningen. Några vanliga outliers är indikerade. Ett annat exempel: Här finns en punkt med stort inflytande (11). Man ska undersöka om den är korrekt och hur den påverkar anpassningen.

81 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Diagnostik av regressioner De flesta av regressionsmodellerna ger signifikanta resultat, men sambanden är inte linjära förutom för X1, X1_korr och Rnd. För X2 är linjär regression tveksam. För X3 och X4 finns var sin leverage point (plot på förra sidan). X1 X2 X3 X4 Rnd X1_korr Y ** N.S. ** Att undersöka sambandets form: genom plottar Linjär regression utgår från ett linjärt samband mellan variablerna.

82 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Samvariation Korrelerade variabler i samma modell kan ge felaktiga resultat •t.ex. både vattendjup och avstånd till strand Eftersom båda beskriver samma effekt så blir ofta båda variabler icke- signfikanta. Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) X X1_korr Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) X Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) X1_korr Med bara en variabel i taget: Båda variabler i samma modell

83 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Samvariation Hur upptäcker man samvariation? •Korrelationsmatris •Principalkomponentanalys (PCA)

84 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 TermEstimateStd Errort RatioProb>|t|VIF Intercept-5,330,62-8,630,001*. X1-0,090,15-0,610,5717,73 X20,390,14,120,015*6,31 X30,450,068,020,001*2,32 X40,880,0711,770,0003*4 Random number0,160,121,30,262,95 Korrelerad till X10,250,131,890,1323,23 Samvariation Y = α + β 1 × X 1 + β 2 × X 2 + β 3 × X 3 + β n × X n + ε X1 X2 X3 X4 X5 X6 Y ** N.S. ** Variance Inflation Factor, VIF, kan ge svar VIF > 10 indikerar korrelation

85 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Samvariation Y = α + β 1 × X 1 + β 2 × X 2 + β 3 × X 3 + β n × X n + ε TermEstimateStd Errort RatioProb>|t|VIF Intercept-6,20,51-12,1<,0001. X10,170,091,890,123,75 X20,520,086,270,0015*3,15 X30,490,077,510,0007*2,04 X40,820,089,790,0002*3,33 Random number0,310,122,640,051,76 X1 X2 X3 X4 X5 X6 Y ** N.S. ** VIF > 10 indikerar korrelation Variance Inflation Factor, VIF, kan ge svar

86 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Samvariation Vilken variabel ska man ta bort i ett par? •Behåll den mest relevanta •Behåll den enklaste •Behåll den som är billigast att mäta

87 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Pseudosamband IQ Skostorlek

88 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Pseudosamband •När en tredje variabel kontrollerar x och y •IQ och skostorlek – båda bestäms av ålder •Förekomst av blåbär och vattenföring – båda bestäms (bl.a.) av nederbörd

89 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Konstruerade samband Direkta misstag X Y Y + X

90 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Finns tillräckligt med data? •Vilken fråga vill jag ha svar på? •Hur stor risk är jag villig att ta att data råkar vara en samling extremvärden? •Vad är kostnaden (ekonomiskt, ekologiskt, trovärdighet) för att: a)Missa en påverkan på miljön (typ II-fel) b)Felaktigt påstå att det finns en miljöpåverkan (typ I-fel)

91 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 Mer att läsa Detta föredrag är baserat på: •www.miljostatistik.sewww.miljostatistik.se •Zuur, A.F. m.fl.(2010) A protocol for data exploration to avoid common statistical problems. Methods in Ecology and Evolution 1: 3-14.A protocol for data exploration to avoid common statistical problems

92 U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014


Ladda ner ppt "U. Grandin och C. von Brömssen, kurs för miljöövervakare på länsstyrelserna 2014 2 En introduktion till R R är en mjukvara för mestadels statistiska analyser."

Liknande presentationer


Google-annonser