STATISTISK ANALYS AV KOMPLEXA DATA SPATIALA DATA Mattias Villani Statistik Institutionen för Datavetenskap Linköpings Universitet MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 1 / 28 TRE TYPER AV SPATIALA DATA Spatiala data: position och avstånd har betydelse. Tre typer av spatiala data: Geostatistiska data (Mätstationer) Areal data (Bildpixlar) Punktmönsterdata (Fågelskådning) Mer generellt: spatiala mätningar över tid: tempo-spatiala data. Ex: Meteorologiska mätningar. Inom delmomentet: Geostatistiska och lite areal data. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 3 / 28 MOMENTETS INNEHÅLL Introduktion till spatiala data Visualisering av spatiala data Geostatistiska data: Interpolation, Variogram och Kriging Areal data: Spatiala autoregressionsmodeller. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 2 / 28 GEOSTATISTISKA DATA Y (s) är en slumpmässig vektor observerad vid positionen s D. Positionerna s1, s2,..., sn är fixa. Mätningarna vid positionerna Y (s1), Y (s2),..., Y (sn) är slumpmässiga. D är ofta en delmängd av R 2. Longitud och latitud. Exempel 1: Temperatur och nederbörd i min trädgård vid en given tidpunkt. Exempel 2: Mängd olja vid olika borrningsstationer. Exempel 3: Huspriser. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 4 / 28
MEUSE RIVER DATA - ZINC CONCENTRATION MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 5 / 28 KOMMUNALSKATT 2012 MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 7 / 28 AREAL DATA D är fortfarande en fix delmängd, men partitionerad i arealenheter. En mätning i varje area. Exempel 1: Jordbruksexperiment. Exempel 2: Bildanalys. Röntgen. Exempel 3: Huspriser på kommunnivå. Areal data kallas också lattice data. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 6 / 28 FMRI BILDER AV HJÄRNAKTIVITET MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 8 / 28
PUNKTMÖNSTERDATA Positionerna s1, s2,..., sn är slumpmässiga. Punktprocesser. Y (s1), Y (s2),..., Y (sn) är fixa som indikerar att en viss händelse inträffat vid si. Exempel 1: Positioner av viss trädsort. Exempel 2: Sjukdomsutbrott. Exempel 3: Brottsplatser. Klustring ofta viktigt. Tenderar vissa djurarter att befinna sig inom samma område? Olika områden (revir)? Attraction/repulsion. Kovariatinformation vid de slumpmässiga positionerna: marked point pattern. Ex: brottsstyp, fågelstorlek, trädomkrets. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 9 / 28 INTERPOLATION AV SPATIALA DATA Vi har observerat Z (s1), Z (s2),..., Z (sn) vid n fixa positioner. Vi vill beräkna anpassningen Ẑ (s0) i en ny punkt s0. Interpolation viktat med inversa avståndet: Ẑ (s0) = n i=1 w(si, s0)z (si ) n i=1 w(si, s0) där w(si, s0) = si s0 p library(gstat); idwout <- idw(zinc ~ 1, meuse, meuse.grid, idp = 2) image(idwout) ritar upp den interpolerade ytan. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 11 / 28 SPATIALA DATA I R Paketet sp är baspaketet med spatiala datatyper. Objekt för att rita upp spatiala data: punkt, linje, polygon, grid och pixel. coordinates(datamatris) <- dinakoordinater [dinakoordinater är en matris med två kolumner innehållande longitud och latitud] datamatris blir ett objekt av typen SpatialPointsDataFrame. Alternativ: funktionen SpatialPointsDataFrame(). llcrs <- CRS("+proj=longlat +ellps=wgs84") definerar det traditionella longitud-latitude koordinatsystemet. library(maps); maps( world, sweden ) ritar upp en Sverigekarta. gridobjekt <- as(spatialdatamatris, "SpatialPixels") Gör om matrisen SpatialDataMatris med punkter till en grid/pixlar. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 10 / 28 INTERPOLATION MED INVERSA AVSTÅND - MEUSE DATA MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 12 / 28
VARIOGRAM Spatial utökning av tidsserieanalysens autokorrelationsfunktion. Stationäritet. Process Z (s) = m + e(s) där m är väntevärdet och e(s) är spatialt brus. Alternativt Z (s) = X β + e(s) Semivariogram γ(h) = 1 2 E [Z (s) Z (s + h)]2 där h är en vektor. Variogram = 2γ(h). Relation till kovariansfunktionen C (h)=cov[y (s + h), Y (s)]: γ(h)=2[c (0) C (h)] MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 13 / 28 SAMPELVARIOGRAMMET Problematiskt att skatta variogrammet eftersom vi kan ha inga eller få datapunkter som just har avståndet h. Låt I1 = [0, h1), I2 = [h1, h2),..., Im = [hm 1, hm) vara en partitionering av intervallet [0, hm) där hm är en övre gräns. Momentskattning av variogrammet: ˆγ(Ij) = 1 2Nh N h [Z (si ) Z (si + h)] i=1 för alla h Ij. library(gstat); plot(variogram(log(zinc) ~ 1, meuse)) library(gstat); plot(variogram(log(zinc) ~ sqrt(dist), meuse)) library(gstat); plot(variogram(log(zinc) ~ 1, meuse, alpha = c(0,45,90,135))) MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 15 / 28 VARIOGRAM, FORTS Spatial korrelation beror endast på avståndsvektorn h = si sj mellan två punkter och inte på punkternas positioner. Isotropisk korrelation: vektorn h kan ersättas med dess längd h = h. γ( h) = γ(h) och γ(0) = 0. Nugget: ofta antas att γ(0 + ) = lim h 0 + γ(h) = τ 2 > 0. Går dock inte att skatta utan upprepade observationer vid samma position. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 14 / 28 MODELLER FÖR ISOTROPISKA VARIOGRAM Linjär Sfärisk { τ 2 + σ 2 h om h > 0 0 om h = 0 { τ 2 + σ 2 } om h 1/φ τ 2 + σ 2 3φh 2 1 2 φ3 h 3 om 0 h 1/φ 0 Powered exponential 0 < p 2 (Exponential p = 1, Gaussisk p = 2) { τ 2 + σ 2 [1 exp( φh p )] om h > 0 0 om h = 0 Matérn { τ 2 + σ 2 [ 1 (2 νhφ) ν 2 ν 1 Γ(ν) K ν(2 νhφ) ] om h > 0 0 om h = 0 MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 16 / 28
NUGGET, SILL OCH RANGE Exempel: sfäriskt variogram } { τ 2 + σ 2 om h 1/φ τ 2 + σ 2 3φh 2 1 2 φ3 h 3 om 0 h 1/φ 0 Nugget: γ(0 + ) = lim h 0 + γ(h) = τ 2 > 0 Sill: limh γ(h) = τ 2 + σ 2 Partial sill: Sill - Nugget =σ 2 Range: h-värdet där γ(h) först når sitt maximum: 1/φ. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 17 / 28 SPATIAL PREDIKTION - KRIGING Vi har observationer Z (s1),..., Z (sn) och vill prediktera Z (s0), Z-värdet vid en ny position s0. Vi har kovariater vid varje position: X = (x(s1),..., x(sn)) och x(s0). Rimlig prediktor: Ẑ (s0) är ett viktat medelvärde av värdena vid närliggande positioner. Bästa linjära väntevärdesriktiga prediktorn Ẑ (s0) = x(s0) ˆβ + v V 1 ( Z (s) X ˆβ ) där Z (s) = (Z (s1),..., Z (sn)), V är kovariansmatrisen för Z (s) och v är kovariansvektorn innehållande kovarianserna mellan Z (s0) och Z (s), och ˆβ = ( X V 1 X ) 1 X V 1 Z (s) är den vanliga GLS-skattningen. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 19 / 28 SKATTNING AV PARAMETRISKA VARIOGRAM Ickelinjär viktad minsta kvadrat (startvärden viktiga) p wj [γ(h) ˆγ(h)] 2 j=1 Variogrammodeller i R: vgm(psill, model, range, nugget) Exempel: vgm(1, Sph, 300, 1) library(gstat); samplevariogram <- variogram(log(zinc) ~ sqrt(dist), meuse) fit.variogram(samplevariogram, vgm(1, "Sph", 800, 1)) Alternativt: eyeball statistics. Prova olika parametervärdet tills dess parametriskt variogram anpassar sampelvariogrammet. library(geor); varioeye <- eyefit(variog(as.geodata(meuse["zinc"]), max.dist = 1500)); variofit <- as.vgm.variomodel(varioeye[[1]]) Fungerar inte i RStudio. Kör vanlig R. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 18 / 28 SPATIAL PREDIKTION - KRIGING, FORTS. Prediktionsvarians Var ( Ẑ (s0) ) = Var (Z (s0)) v V 1 v + ( x(s0) v V 1 X ) ( X V 1 X ) 1 ( x(s 0) v V 1 X ) Universal kriging. Ordinary kriging: endast intercept i regressionsytan. krige(log(zinc) ~ sqrt(dist), meuse, meuse.grid, fittedsphvariogram) MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 20 / 28
KRIGING - MEUSE DATA MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 21 / 28 US CENSUS TRACT DATA - NEW YORK COUNTIES MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 23 / 28 AREAL DATA Datapunkter är definierade över arealenheter (kommuner, pixlar) Arealernas närhet till varandra äv viktig. Motsvarar avstånd för geostatistiska data. Spatiala grannskap (neighbourhoods): Vilka regioner gränsar till region i? Vilka länder handlar med varandra? Hur mycket? Vilka delar av hjärnan är sammankopplade med fibrer? Vem är du vän med på Facebook? MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 22 / 28 US CENSUS TRACT DATA - NEW YORK COUNTIES MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 24 / 28
MORAN I Näthetsmatris W = (wij)[objekt av klassen nb i R] Test för spatialt beroende, Moran I n I = n i=1 n i=1 wij n i=1 n j=1 wij(yi ȳ)(yj ȳ) n i=1(yi ȳ) 2 MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 25 / 28 SIMULTAN AUTOREGRESSIV MODELL (SAR), FORTS Modellen kan skrivas som E (y) = X β Var(y) = (I B) 1 Σε ( I B ) 1 där B = (bij) och Σε är en diagonal matris, ofta Σε = σ 2 I. Vanligt val: B = λw. Spatial autokorrelationsparameter: λ. R funktionen: nysar <- spautolm(z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, data = NY8, listw = NYlistw) MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 27 / 28 SIMULTAN AUTOREGRESSIV MODELL (SAR) Tidsserieanalys: regression med AR(1) feltermer yt = β0 + β1xt + et et = ρet 1 + εt där εt iid N(0, σ 2 ). Simultan autoregressiv modell (SAR) yi = β0 + β1xi + ei ei = m bijej + εi j=1 iid där εi N(0, σ 2 ). bij representerar spatiala beroenden mellan regioner. bii = 0 för alla i. Regionen beror inte på sig själv. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 26 / 28 CONDITIONAL AUTOREGRESSIVE MODEL (CAR) Beroendet för residualerna modelleras betingat på omgivningen (neighbourhood) ei ej i N ( cijej j i j i cij, σ 2 ei j i cij ) R: nycar <- spautolm(z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, + data = NY8, family = "CAR", listw = NYlistw) MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 28 / 28