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
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
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
GEOSTATISTISKA DATA Y (s) är en slumpmässig vektor observerad vid positionen s D. Positionerna s 1, s 2,..., s n är fixa. Mätningarna vid positionerna Y (s 1 ), Y (s 2 ),..., Y (s n ) ä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
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
KOMMUNALSKATT 2012 MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 7 / 28
FMRI BILDER AV HJÄRNAKTIVITET MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 8 / 28
PUNKTMÖNSTERDATA Positionerna s 1, s 2,..., s n är slumpmässiga. Punktprocesser. Y (s 1 ), Y (s 2 ),..., Y (s n ) är fixa som indikerar att en viss händelse inträffat vid s i. 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
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 AV SPATIALA DATA Vi har observerat Z (s 1 ), Z (s 2 ),..., Z (s n ) vid n fixa positioner. Vi vill beräkna anpassningen Ẑ (s 0 ) i en ny punkt s 0. Interpolation viktat med inversa avståndet: Ẑ (s 0 ) = n i=1 w(s i, s 0 )Z (s i ) n i=1 w(s i, s 0 ) där w(s i, s 0 ) = s i s 0 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
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 E [Z (s) Z (s + h)]2 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
VARIOGRAM, FORTS Spatial korrelation beror endast på avståndsvektorn h = s i s j 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
SAMPELVARIOGRAMMET Problematiskt att skatta variogrammet eftersom vi kan ha inga eller få datapunkter som just har avståndet h. Låt I 1 = [0, h 1 ), I 2 = [h 1, h 2 ),..., I m = [h m 1, h m ) vara en partitionering av intervallet [0, h m ) där h m är en övre gräns. Momentskattning av variogrammet: för alla h I j. ˆγ(I j ) = 1 N h 2N h [Z (s i ) Z (s i + h)] i=1 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
MODELLER FÖR ISOTROPISKA VARIOGRAM Linjär Sfärisk γ(h; θ) = γ(h; θ) = { τ 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 } 0 om 0 h 1/φ Powered exponential 0 < p 2 (Exponential p = 1, Gaussisk p = 2) { τ γ(h; θ) = 2 + σ 2 [1 exp( φh p )] om h > 0 0 om h = 0 Matérn γ(h; θ) = { [ τ 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/φ γ(h; θ) = τ 2 + σ 2 3φh 2 1 2 φ3 h 3 om 0 h 1/φ 0 Nugget: γ(0 + ) = lim h 0 + γ(h) = τ 2 > 0 Sill: lim h γ(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
SKATTNING AV PARAMETRISKA VARIOGRAM Ickelinjär viktad minsta kvadrat (startvärden viktiga) p w j [γ(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 Vi har observationer Z (s 1 ),..., Z (s n ) och vill prediktera Z (s 0 ), Z-värdet vid en ny position s 0. Vi har kovariater vid varje position: X = (x(s 1 ),..., x(s n )) och x(s 0 ). Rimlig prediktor: Ẑ (s 0 ) är ett viktat medelvärde av värdena vid närliggande positioner. Bästa linjära väntevärdesriktiga prediktorn Ẑ (s 0 ) = x(s 0 ) ˆβ + v V 1 ( Z (s) X ˆβ ) där Z (s) = (Z (s 1 ),..., Z (s n )), V är kovariansmatrisen för Z (s) och v är kovariansvektorn innehållande kovarianserna mellan Z (s 0 ) 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
SPATIAL PREDIKTION - KRIGING, FORTS. Prediktionsvarians Var ( Ẑ (s 0 ) ) = Var (Z (s 0 )) v V 1 v Universal kriging. + ( x(s 0 ) v V 1 X ) ( X V 1 X ) 1 ( x(s0 ) v V 1 X ) 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
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 23 / 28
US CENSUS TRACT DATA - NEW YORK COUNTIES MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 24 / 28
MORAN I Näthetsmatris W = (w ij )[objekt av klassen nb i R] Test för spatialt beroende, Moran I I = n n i=1 n j=1 w ij (y i ȳ)(y j ȳ) n i=1 n i=1 w ij n i=1(y i ȳ) 2 MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 25 / 28
SIMULTAN AUTOREGRESSIV MODELL (SAR) Tidsserieanalys: regression med AR(1) feltermer där ε t iid N(0, σ 2 ). y t = β 0 + β 1 x t + e t e t = ρe t 1 + ε t Simultan autoregressiv modell (SAR) där ε i iid N(0, σ 2 ). y i = β 0 + β 1 x i + e i m e i = b ij e j + ε i j=1 b ij representerar spatiala beroenden mellan regioner. b ii = 0 för alla i. Regionen beror inte på sig själv. MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 26 / 28
SIMULTAN AUTOREGRESSIV MODELL (SAR), FORTS Modellen kan skrivas som E (y) = X β Var(y) = (I B) 1 Σ ε ( I B ) 1 där B = (b ij ) 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
CONDITIONAL AUTOREGRESSIVE MODEL (CAR) Beroendet för residualerna modelleras betingat på omgivningen (neighbourhood) ( ) c ij e j σe e i e j i N 2, i j i j i c ij j i c ij R: nycar <- spautolm(z ~ PEXPOSURE + PCTAGE65P + PCTOWNHOME, + data = NY8, family = "CAR", listw = NYlistw) MATTIAS VILLANI (STATISTIK, LIU) SPATIALA DATA 28 / 28