• Non ci sono risultati.

Il lavoro descritto nei precedenti paragra si è posto come obiettivo la deter- minazione della struttura probabilistica spaziotemporale della concentrazio- ne di clorolla nella costa settentrionale del Cile (regione di Tarapacà). Le osservazioni sono state trasformate logaritmicamente per accrescere la leggi- bilità dei dati (Fig.5.4) e la regione inizialmente disponibile è stata ridotta per poter studiare la variazione della concentrazione di clorolla nell'area in- teressata dal fenomeno oceanograco della risalita delle acque profonde, di interesse per il presente studio (Fig. 5.5).

È stato inizialmente considerato il mese di marzo per esplorare la distribu- zione spaziale della clorolla. Il processo oggetto di studio non risulta essere gaussiano (Fig. 5.10) e la sua media non è costante (Fig. 5.6); utilizzare dei modelli di regressione in cui le covariate sono le coordinate spaziali non risulta essere il giusto approccio per risolvere tale problema (Fig.5.13). Si dovrebbero piuttosto includere nel modello delle variabili esplicative ester- ne, come ad esempio la batimetria del fondo oceanico e l'eetto dei venti di supercie. Inoltre, un'analisi esploratoria dell'anisotropia suggerisce la pre- senza di eetti direzionali prevalenti nella direzione est (Fig. 5.14). In ogni caso, il variogramma campionario mostra un andamento non decrescente che si assesta su un sill, a patto di considerare distanze inferiori ai 150 (Fig. 5.11). Applicando il metodo della verosimiglianza composita per la stima dei modelli gaussiano, esponenziale e sferico, dati rispettivamente dalle (1.23), (1.24) e (1.25) nel paragrafo 1.6, si ottengono i risultati mostrati nella tabel- la 5.3 e nelle gure 5.16 e 5.15, da cui emerge che il modello gaussiano è il migliore ai ni della stima parametrica. Dal punto di vista della previsione con il metodo del kriging semplice, i migliori modelli risultano essere quel- lo sferico e quello esponenziale, che presentano degli errori MSE e MAE abbastanza ridotti (Tab. 5.3).

Per quanto riguarda l'analisi spaziotemporale, sono state considerate uni- camente postazioni spaziali in cui le osservazioni sono disponibili per ciascun mese (Fig. 5.17). I risultati dell'analisi parametrica, relativi ai modelli espo- nenziale separabile, di De Iaco, di Gneiting e di Porcu, dati dalle (4.15),

(4.16), (4.18) e (4.19) nel paragrafo 4.4, sono esposti in tabella 5.4 e nelle gure 5.18 e 5.19. Il modello esponenziale risulta essere il più eciente com- putazionalmente, nonostante sottostimi l'eetto pepita, se comparato con gli altri modelli. Inoltre, si noti che il modello di Gneiting predilige un para- metro di separabilità prossimo allo zero, mentre quello di Porcu un valore vicino all'unità. I risultati previsivi ottenuti con il metodo del kriging sem- plice non sono stati soddisfacenti, in quanto gli errori MSE e MAE sono eccessivi se comparati con i dati a disposizione (Tab. 5.5). Per ottenere delle stime migliori, si potrebbe ad esempio considerare un intervallo temporale più ampio, che comprenda tutto il ciclo El Niño-La Niña (dal 2009 al 2011), con osservazioni giornaliere.

Conclusioni

Nel presente lavoro di tesi, sono stati analizzati i principali metodi e model- li geostatistici spaziali e l'approccio geostatistico spaziotemporale univariato per l'analisi di fenomeni dipendenti dallo spazio geograco e dal tempo. So- no stati applicati tali metodi per analizzare un insieme di dati satellitari, relativi alla concentrazione di clorolla nella costa settentrionale del Cile (re- gione di Tarapacá), la cui struttura probabilistica è di interesse per gli studi oceanograci della risalita delle acque profonde, fredde e ricche di sostanze nutritive, dal fondo alla supercie oceanica. Tale fenomeno risulta fondamen- tale nel determinare il clima e l'ecosistema delle zone interessate. Inoltre, la distribuizione spaziotemporale di variabili oceanograche ottenute tramite misurazioni satellitari è di rilievo per l'ottenimento di stime previsive che possano fornire una buona approssimazione dei valori laddove le osservazio- ni non siano disponibili a causa di condizioni climatiche sfavorevoli. Ancor più in generale, lo studio dei metodi geostatistici spaziotemporali può porsi come ambizioso obiettivo quello della previsione nello spazio e nel tempo dei fenomeni geosici per la prevenzione delle catastro naturali.

I dati a disposizione per lo studio sono relativi alla zona settentrionale della costa cilena e sono distribuiti mensilmente nell'anno 2010. In tale inter- vallo temporale, si è vericata l'occorrenza del fenomeno El Niño-Oscillazione Meridionale (ENSO), che consiste in un'anomalia positiva (evento El Niño) o negativa (evento La Niña) della temperatura superciale dell'acqua, ed è strettamente legato alla risalita delle acque profonde. L'analisi è stata ese- guita in due passi: in un primo momento, si è considerata una fotograa dei dati nel mese di marzo, con lo scopo di esplorarne la distribuzione pro- babilistica spaziale; in seguito, è stata eettuata l'analisi spaziotemporale,

considerando tutti i mesi a disposizione. I risultati della previsione spazia- le sono stati incoraggianti, nonostante sia emersa la necessità di includere eventuali variabili esplicative, ad esempio la batimetria del fondo oceanico, l'intensità e la velocità dei venti costieri, ai ni di una migliore specicazione della media. Dal punto di vista spaziotemporale, non sono stati raggiunti dei risultati soddisfacenti: ciò potrebbe essere dovuto alla necesità di considerare una griglia temporale più tta.

Per quanto riguarda gli sviluppi futuri del presente lavoro, sarebbe inte- ressante considerare delle osservazioni giornaliere distribuite su un intervallo temporale più ampio, che comprenda tutto il ciclo El Niño-La Niña, dal 2009 al 2011, per ottenere dei migliori risultati in termini di previsione spa- ziotemporale. Dal punto di vista modellistico, considerare gli eetti della batimetria del fondo oceanico e dei venti di supercie potrebbe accrescere la bontà del modello per la stima dell'andamento medio della concentrazione di clorolla. Inoltre, sarebbe utile eettuare un'analisi geostatistica spazio- temporale della temperatura superciale dell'acqua nello stesso intervallo di tempo, per mettere a confronto le due variabili (la clorolla e la tempera- tura) dal punto di vista della loro struttura probabilistica spaziotemporale. Per concludere, si osserva che un ulteriore ranamento del modello potrebbe essere ottenuto considerando dei modelli anisotropici di covarianza: l'aniso- tropia è oggi centrale negli studi geostatistici e sarebbe interessante fornire dei risultati computazionali basati su un grande insieme di dati reali, come le osservazioni satellitari della concentrazione di clorolla.

Appendice

In questa appendice ci si propone di illustrare una traccia dei codici utiliz- zati per ottenere i risultati e i graci esposti nella presente tesi. L'analisi è stata eettuata tramite il software R, utilizzando i pacchetti CompRand- Fld (Padoan e Bevilacqua, 2015), geoR (Riberio e Diggle, 2015), sp (Bivand, Pebesma e Gómez-Rubio, 2013) e gstat (Pebesma, 2004).

A seguire, sono riportati i comandi necessari per ottenere il graco della correlazione di Matérn in gura 1.4. I valori di k e Φ per il modello espresso dalla (1.22) sono dati in ingresso alla funzione cov.spatial() del pacchetto geoR, ssando il parametro cov.pars. La scelta del modello di Matérn si ottiene impostando cov.model = mat.

> library ( geoR ) >

> x <- seq (0, 1, l = 101)

> plot (x, cov . spatial (x, cov . model = " mat ", kappa = 0.7 , + cov . pars = c (1 ,0.25)) , type = "l", xlab = "u", + ylab = expression ( rho (u)), ylim = c (0 ,1))

> lines (x, cov . spatial (x, cov . model = " mat ", kappa = 1.5 , + cov . pars = c (1 ,0.16)) , lty = 2)

> lines (x, cov . spatial (x, cov . model = " mat ", kappa = 2.5 , + cov . pars = c (1 ,0.13)) , lty = 3)

> legend (0.6 , 0.95 , lty = c(1 ,2 ,3) , bty = "n", y. intersp = 2, + c( expression ( paste ("k = 0.7 , ", Phi , " = 0.25")) , + expression ( paste ("k = 1.5 , ", Phi , " = 0.16")) , + expression ( paste ("k = 2.5 , ", Phi , " = 0.13"))))

La funzione grf() del pacchetto geoR genera la simulazione di campi aleatori, dato un modello di covarianza (cov.model) e ssati i suoi parametri

> set . seed (1990)

> s0 <- grf (500 , grid = " reg ", cov . pars = c(1, 0.25) , + cov . model = " mat ", kappa = 0.7)

> s1 <- grf (500 , grid = " reg ", cov . pars = c(1, 0.16) , + cov . model = " mat ", kappa = 1.5)

> s2 <- grf (500 , grid = " reg ", cov . pars = c(1, 0.13) , + cov . model = " mat ", kappa = 2.5)

> par ( mfrow = c (1 ,3))

> image (s0 , col = gray ( seq (1 ,0 ,l = 51)) , xlab = "x", + ylab = "y")

> image (s1 , col = gray ( seq (1 ,0 ,l = 51)) , xlab = "x", + ylab = "y")

> image (s2 , col = gray ( seq (1 ,0 ,l = 51)) , xlab = "x", + ylab = "y")

Per quanto riguarda l'analisi spaziale della concentrazione di clorolla og- getto del quinto capitolo, i dati sono stati inizialmente posti in un data.frame (Chl_df) con 14 colonne, le prime due relative alle coordinate (longitudine e latitudine) delle misurazioni satellitari e le successive ai mesi dell'anno 2010.

> Chl_df <- read . table (" chlorfiltro . txt ", header = TRUE ) > Chl_df [ , 1:2] = cbind ( Chl_df$lon , Chl_df$lat )

> names ( Chl_df ) = c(" lon ", " lat ", " Jan ", " Feb ", + " Mar ", " Apr ", " May ", " Jun ", " Jul ", + " Aug ", " Sep ", " Oct ", " Nov ", " Dic ")

La mappa spaziale della concentrazione di clorolla nel mese di marzo, ri- portata nella gura 5.4 (a sinistra), è stata con ottenuta la funzione spplot() del pacchetto sp, che prende in ingresso un oggetto SpatialPixelsDataFrame, come mostrato nel codice a seguire. Il parametro proj4string è necessario per specicare il tipo di distanza da considerare; in questo caso, le coordinate sono espresse in termini di longitudine e latitudine e si imposta proj4string = CRS(+proj=longlat +ellps=WGS84). In generale, occorre prestare parti- colare attenzione al tipo di distanza considerata in ciascuna funzione che ri- chiede dei calcoli nello spazio, soprattutto laddove l'area d'interesse sia estesa. In alcuni casi è infatti necessario trasformare prelirminarmente le coordina- te, portandole a un sistema cartesiano, come sarà descritto nel seguito della presente appendice.

> library (sp) >

> Chl_coords <- Chl_df [ , c (1 ,2)]

> llCRS <- CRS ("+ proj = longlat + ellps = WGS84 ") > spixdf_mar <- SpatialPixelsDataFrame ( Chl_coords , + Chl_df , proj4string = llCRS )

> spplot ( spixdf_mar [3] , main = " Chlorophyll Dataset ")

I dati sono poi stati ridotti, sia dal punto di vista della regione spa- ziale, sia da quello dell'eliminazione delle osservazioni mancanti, ed è stata applicata una trasformazione logaritmica. Il nuovo insieme di dati è stato salvato in un oggetto di tipo list (Chl_new), per tenere conto del fatto che la numerosità delle osservazioni vari di mese in mese. Il numero dei dati mancanti e quello dei dati disponibili dopo la riduzione è stato salvato nei vettori count e remaining. Il graco in gura 5.6 si ottiene costruendo una lista di SpatialPixelDataFrame e utilizzando la funzione spplot(), come sopra descritto.

> # Creating sub - region

> Chl_df <- Chl_df [ which (( Chl_df$lon > -70.6)

+ & ( Chl_df$lat > -21.5) & ( Chl_df$lat < -19.5)) , ] > row . names ( Chl_df ) <- 1: nrow ( Chl_df )

>

> # Deleting missing values and applying log - transformation > Chl_new <- list ()

> count <- 0

> for (i in 3: dim ( Chl_df )[2]){

+ Chl_new [[i -2]] <- Chl_df [ , c(1 ,2 ,i)] + # Missing values

+ missing <- which ( Chl_df [, i] == 0) + if( length ( missing ) > 0)

+ Chl_new [[i -2]] <- Chl_new [[i -2]][ - missing , ] + count <- c(count , length ( missing ))

+ # Log - transformation

+ Chl_new [[i -2]][ , 3] <- log ( Chl_new [[i -2]][ , 3]) + }

> count <- count [ -1]

> remaining <- rep ( dim ( Chl_df )[1] , 12) - count >

> # SpatialPixelDataFrame for plotting > spixdf_new <- list ()

> for (i in 1: length ( Chl_new )){

+ Chl_coords <- Chl_new [[i ]][ , c (1 ,2)]

+ spixdf_new [[i]] <- SpatialPixelsDataFrame ( Chl_coords , + Chl_new [[i]], proj4string = llCRS )

+ temp <- spplot ( spixdf_new [[i ]][3] ,

+ main = names ( spixdf_new [[i ]])[3]) + print ( temp )

+ }

Il variogram cloud e il variogramma campionario del mese di marzo mo- strati in gura 2.1 sono stati ottenuti grazie alla funzione EVariogram() del pacchetto CompRandFld. Per il variogram cloud occorre specicare il parametro cloud = TRUE, mentre il variogramma campionario è l'opzione di default. Inoltre, è possibile decidere sia il numero di intervalli temporali che la distanza massima per la computazione dei variogrammi empirici, specican- do i parametri numbins e maxdist. Giocando con tali valori, si ottengono dei graci simili a quelli riportati nelle gure 5.11 e 5.12. Si noti inne che la funzione EVariogram() permette di specicare il tipo di distanza utilizzata; nel caso del presente lavoro, si è impostato dist = geod, e cioè la distanza geodetica tra due punti dello spazio le cui coordinate sono espresse in termini di longitudine e latitudine. > library ( CompRandFld ) > library ( RandomFields ) > library ( spam ) > > mar <- Chl_new [[3]]

> evario <- EVariogram ( mar [ , 3], mar [ , 1], mar [ , 2], + dist =" Geod ", maxdist = 150 , numbins = 20)

> varioCloud <- EVariogram ( mar [, 3], mar [ , 1], mar [, 2], + dist =" Geod ", cloud = TRUE )

> par ( mfrow = c (1 ,2))

> plot ( varioCloud$centers , varioCloud$variograms , + xlab = "u", ylab = " Semivariogram ")

> plot ( evario$centers , evario$variograms , + xlab = "u", ylab = " Semivariogram ")

Per i variogrammi direzionali mostrati nella gura 5.14 è stata conside- rata la funzione variogram() del pacchetto gstat, che prende in ingresso un oggetto del tipo SpatialPointsDataFrame, appoggiandosi al pacchetto sp. Le direzioni di interesse sono scelte denendo i valori del parametro alpha. Gli angoli sono considerati a partire dal semiasse verticale positivo, in senso orario; un angolo di 0° corrisponde alla direzione nord, uno di 90° alla dire- zione est, e così via. Si osserva che i variogrammi direzionali possono essere computati anche con la funzione variog() del pacchetto geoR.

> mar_spdf <- SpatialPointsDataFrame ( mar [ , c(1 ,2)] , + mar , proj4string = llCRS , match .ID = TRUE ) > variodir <- variogram ( Mar ~ 1, mar_spdf ,

+ alpha = (0:3)*45) > plot ( variodir )

I comandi riportati a seguire sono necessari per la stima parametrica dei variogrammi esponenziale, gaussiano e sferico, dati dalle (1.23), (1.24) e (1.25), nel mese di marzo 2010, ottenuta tramite il pacchetto CompRandFld. I parametri sono calcolati dalla funzione FitComposite() e utilizzati dalla funzione Covariogram(), che computa la matrice di varianza-covarianza e il variogramma del modello stimato. Si osserva che, ai ni del calcolo del crite- rio CLIC, è necessario impostare varest = TRUE. I risultati, il cui graco è riportato in gura 5.15, sono stati salvati nella tabella fit_info (Tab. 5.2).

> # Fitting models with Composite Likelihood

> expo <- FitComposite ( mar [, 3], mar [, 1], mar [, 2], + corrmodel = " exponential ", distance = " Geod ", + maxdist = 150 , varest = TRUE )

> gaus <- FitComposite ( mar [, 3], mar [, 1], mar [, 2], + corrmodel = " gauss ", distance = " Geod ", + maxdist = 150 , varest = TRUE )

> sph <- FitComposite ( mar [, 3], mar [, 1], mar [, 2], + corrmodel = " spherical ", distance = " Geod ", + maxdist = 150 , varest = TRUE )

>

> # Computing covariance matrix and variogram > covexpo <- Covariogram (expo , answer . cov = TRUE , + answer . vario = TRUE , answer . range = TRUE ,

> covgaus <- Covariogram (gaus , answer . cov = TRUE , + answer . vario = TRUE , answer . range = TRUE , + vario = evario )

> covsph <- Covariogram (sph , answer . cov = TRUE , + answer . vario = TRUE , answer . range = TRUE , + vario = evario )

>

> # Results

> lik <- c( expo$logCompLik , gaus$logCompLik , sph$logCompLik ) > it <- c( expo$iterations [1] , gaus$iterations [1] ,

+ sph$iterations [1])

> corrmod <- c(" Exponential ", " Gaussian ", " Spherical ") > nugget <- c( expo$param [2] , gaus$param [2] , sph$param [2]) > sill <- c( expo$param [4] , gaus$param [4] , sph$param [4]) > range <- c( covexpo$range , covgaus$range , covsph$range ) > CLIC <- c( expo$clic , gaus$clic , sph$clic )

> fit_info <- data . frame ( corrmod , lik , it , + nugget , sill , range , CLIC )

>

> # Plotting sample variograms alltogether

> plot ( covexpo$lags , covexpo$variogram , type = "l", + xlab = " Distance ", ylab = " Variogram ",

+ ylim = c(0, max ( evario$variograms ) + 0.005) , col = 4) > lines ( covsph$lags , covsph$variogram , col = 2)

> lines ( covgaus$lags , covgaus$variogram , col = 3) > points ( evario$centers , evario$variograms , pch = 20)

> legend (100 , 2.8 , c(" Exponential ", " Spherical ", " Gaussian "), + lty = rep (1 ,5) , col = c(4 ,2 ,3) ,

+ bty = "n", y. intersp = 2)

Per quanto riguarda la previsione tramite il metodo del kriging, le coordi- nate sono state trasformate tramite la funzione lonlat.to.miles, disponibi- le alla pagina http://www.dst.unive.it/∼gaetan/ModStatSpat/R-code/ ex-5.4-suppl.R del Prof. Carlo Gaetan (Università Ca' Foscari di Vene- zia). La funzione Kri() del pacchetto CompRandFld è stata utilizzata per ottenere i risultati previsivi, dopo aver diviso l'insieme dei dati in due parti, una per il training, l'altra per la validazione dei risultati, come prevede il metodo della cross validation (paragrafo 3.5). Inne, sono stati calcolati gli

errori MSE e MAE, espressi dalle (3.20) e (3.21). A seguire, è riportata la procedura nel caso del modello esponenziale; per i risultati relativi agli altri modelli, occorre semplicemente cambiare il parametro corrmodel.

> # Training and validating random samples > set . seed (123)

> n <- dim ( mar )[1]

> ntrain <- ceiling (0.8* n) > ntest <- n - ntrain > randindex <- sample (1: n)

> randtrain <- sort ( randindex [1: ntrain ]) > randtest <- sort ( randindex [ ntrain +1: n]) > mar_train <- mar [ randtrain , ]

> mar_test <- mar [ randtest , ] >

> # Coordinates transformation

> coords <- lonlat .to. miles ( mar_train ) > loc_to_pred <- lonlat .to. miles ( mar_test ) >

> # Kriging for the exponential model > expokri <- Kri ( data = mar_train [ , 3],

+ coordx = coords [ , 1], coordy = coords [ , 2], + loc = as. matrix ( loc_to_pred ), maxdist = 150 , + corrmodel = " exponential ",

+ param = as. list ( expo$param )) >

> # Computing MSE and MAE

> MAE <- sum ( abs ( mar_test [ , 3] - expokri$pred )) > MSE <- sum (( mar_test [ , 3] - expokri$pred )^2) > realValues <- sum ( abs ( mar_test [ , 3]))

> realValuesSQ <- sum (( mar_test [ , 3])^2) > frac_MAE <- MAE / realValues

> frac_MSE <- MSE / realValuesSQ

Relativamente all'analisi spaziotemporale, si osservi che il data.frame Chl_df, è già stato modicato tagliando la regione di studio. La tabella è stata ulteriormente ridotta eliminando le osservazioni mancanti e applicando una trasformazione logaritmica. A dierenza del caso puramente spaziale, l'insieme dei dati così ottenuto è tale che in ogni locazione spaziale siano di-

sponibili i dati relativi alla concentrazione di clorolla per ogni mese dell'anno 2010; pertanto, non è necessaria la costruzione di una lista. La visualizza- zione graca del dataset in gura 5.17 si ottiene in maniera analoga al caso puramente spaziale. > count <- 0 > missing <- c() > for (i in 3: dim ( Chl_df )[2]){ + # Missing values + missing <- which ( Chl_df [, i] == 0) + if( length ( missing ) > 0) {

+ # Deleting missing values + Chl_df <- Chl_df [- missing , ]

+ row . names ( Chl_df ) <- 1: nrow ( Chl_df )} + count <- c(count , length ( missing ))

+ # Log - transformation

+ Chl_df [, i] <- log ( Chl_df [ , i]) + }

Per la computazione del variogramma campionario, si è ancora una vol- ta utilizzata la funzione EVariogram(). L'unica dierenza con il caso pu- ramente spaziale è la specicazione del vettore temporale t. I graci in tre dimensioni, riportati in gura (5.18), sono stati ottenuti con le fun- zioni scatterplot3d() (dell'omonimo pacchetto) e persp(), del pacchetto graphics, che fornisce una versione più liscia.

> library ( scatterplot3d ) >

> t = 1:12

> data = t( Chl_df [ ,-c (1 ,2)])

> evario <- EVariogram (data , Chl_df$lon , Chl_df$lat , t, + dist = " Geod ", numbins = 20, maxdist = 150) >

> # Marginal spatial empirical variogram > windows ()

> par ( mfrow = c(2 ,2) , mai = c(.5 ,.5 ,.3 ,.3) , + mgp = c(1.4 ,.5 , 0))

> plot ( evario$centers , evario$variograms , xlab = "h", + ylab = expression ( gamma (h)),

+ xlim = c(0, max ( evario$centers )), pch = 20,

+ main = " Marginal spatial Variogram ", cex . axis = .8) >

> # Marginal temporal empirical variogram > plot ( evario$bint , evario$variogramt ,

+ xlab = "t", ylab = expression ( gamma (t)), + ylim = c(0, max ( evario$variograms )), + xlim = c(0, max ( evario$bint )), pch = 20,

+ main = " Marginal temporal Variogram ", cex . axis = .8) >

> # Building space - time variogram

> st. vario <- matrix ( evario$variogramst ,

+ length ( evario$centers ), length ( evario$bint )) > st. vario <- cbind (c(0, evario$variograms ),

+ rbind ( evario$variogramt , st. vario )) >

> # Results : 3d Spatio - temporal variogram > st. grid <- expand . grid (c(0, evario$centers ), + c(0, evario$bint ))

> scatterplot3d (st. grid [ ,1] , st. grid [ ,2] , c(st. vario ), + highlight .3d = TRUE , xlab = "h", ylab = "t", + zlab = expression ( gamma (h,t)), pch = 20, + main = "Space - time variogram ", cex . axis = .7, + mar = c(2 ,2 ,2 ,2) , mgp = c(0 ,0 ,0) , cex . lab = .7) >

> # A smoothed version

> par ( mai = c(.2 ,.2 ,.2 ,.2) , mgp = c(1 ,.3 , 0))

> persp (c(0, evario$centers ), c(0, evario$bint ), st.vario ,

+ xlab = "h", ylab = "u", zlab = expression ( gamma (h,u)), + ltheta = 90, shade = 0.75 , ticktype = " detailed ", + phi = 30, theta = 30, main = "Space - time variogram ", + cex . axis = .8, cex . lab = .8)

Per la stima dei parametri dei modelli esponenziale separabile (4.13), di De Iaco (4.16), di Gneiting (4.18) e di Porcu (4.19), tramite il metodo della verosimiglianza composita, sono state utilizzate le funzioni FitComposite() e Covariogram(). I passaggi sono simili al caso puramente spaziale, a patto di specicare il vettore temporale t. Impostando il parametro show.vario = TRUE, si ottengono i graci in gura (5.19). A seguire, sono esposti i passaggi

del codice relativi al modello di Gneiting; gli altri modelli sono stimati in maniera analoga, cambiando il parametro corrmodel.

> gneiting <- FitComposite (data , Chl_df [ , 1], Chl_df [ , 2], + t, corrmodel = " gneiting ", distance = " Geod ",

+ maxdist = 150 , varest = TRUE )

> covGneiting <- Covariogram ( gneiting , answer . cov = TRUE , + answer . vario = TRUE , answer . range = TRUE ,

+ vario = evario , show . vario = TRUE , show . range = TRUE )

Per concludere, il seguente codice è relativo alla previsione tramite il metodo del kriging, nel caso del modello di Gneiting. Anche nel caso spazio- temporale è stata utilizzata la tecnica della cross validation, precedentemente descritta. > set . seed (123) > t <- 1:12 > n <- dim ( Chl_df )[1] > ntrain <- ceiling (0.8* n) > ntest <- n - ntrain > randindex <- sample (1: n)

> randtrain <- sort ( randindex [1: ntrain ]) > randtest <- sort ( randindex [ ntrain +1: n]) > Chl_train <- Chl_df [ randtrain , ]

> Chl_test <- Chl_df [ randtest , ] >

> # Coordinates transformation

> coords <- lonlat .to. miles ( Chl_train ) > loc_to_pred <- lonlat .to. miles ( Chl_test ) >

> # Kriging for the Gneiting model

> gneitingkri <- Kri (t( Chl_train [ ,-c(1 ,2 ,14)]) , + coordx = coords , coordt = t [1:11] ,

+ corrmodel = " gneiting ", loc = loc_to_pred , + time = 12, maxdist = 150 ,

+ param = as. list ( gneiting$param )) >

> Computing MSE and MAE

> MAE <- sum ( abs ( Chl_test [ ,14] - gneitingkri$pred )) > MSE <- sum (( Chl_test [ ,14] - gneitingkri$pred )^2) > realValues <- sum ( abs ( Chl_test [ , 14]))

> realValuesSQ <- sum (( Chl_test [ , 14])^2) > frac_MAE <- MAE / realValues

Bibliograa

Akaike H. (1974). A New Look at the Statistical Model Identication. IEEE Transactions on Automatic Control, 19, 716723.

Allard D., Senoussi R. e Porcu E. (2015). Anisotropy Models for Spatial Data. Mathematical Geoscience, 124.

Andrade I., Hormazabal S. e Correa-Ramírez M. (2014). Time-space variabi- lity of satellite chlorophyll-a in the Easter Island Province, southeastern Pacic Ocean. Latin American Journal of Aquatic Research, 42, 871 887.

Azzalini A. (1996). Statistical Inference: Based on the Likelihood. Chapman e Hall, London.

Bakun A. (1990). Global Climate Change and Intensication of Coastal Ocean Upwelling. Science, 247, 198201.

Bartlett M. S. (1955). Stochastic Processes. Cambridge University Press. Bello M. et al. (2004). Surgencia costera en la zona central de Chile, durante

el ciclo El Niño-La Niña 1997-1999. In: El Niño-La Niña 19972000. Sus Efectos en Chile. CONA.

Bevilacqua M. et al. (2012). Estimating Space and Space Time Covarian- ce Functions for Large Data Sets: A Weighted Composite Likelihood Approach. Journal of the American Statistical Association, 107, 268 280.

Bivand R. S., Pebesma E. e Gómez-Rubio V. (2013). Applied Spatial Data Analysis with R, Second edition. UseR! Series. Springer, NY. url: http: //www.asdar-book.org/.

Bochner M. e Martin W. T. (1949). Several Complex Variables. Vol. 10. Mathematical Series. Princeton University Press, Princeton.

Box G. E. P. e Cox D. R. (1964). An analysis of transformations (with discussion). Journal of the Royal Statistical Society, Series B, 26, 211 252.

Breslow N. E. e Clayton D.G (1993). Approximate inference in generalized linear mixed models. Journal of the American Statistical Association,

Documenti correlati