Dear Dan,

the error occurs because your prior.stvgm is far from the structure of your data. The following model provides better starting values:

prior.stvgm=vgmST(stModel="sumMetric",
                        space=vgm(0.1,"Exp",0.5,0.3),
                        time=vgm(0.1,"Exp",0.5,0.3),
                        joint=vgm(0.1,"Exp",0.5,0.3),
                        stAni=1)

To get a first "estimate", it is always useful to look at a plot of the sample variogram (as in the spatial case):

plot(sample.stvgm, wireframe=T, scales=list(arrows=F))

From the plot, one can read spatial and temporal ranges, the magnitude of variability and the ratios of nuggets and sills. Sometimes, one is better of by starting with a simpler model (e.g. "pure" metric), as the routines are more robust for less parameters, to get a first impression of the range of parameters. Furthermore, the plot suggests that a much smaller spatial upper boundary is sufficient, as the variogram surface is mainly flat in the spatial dimension.

Spatio-temporal geostatistics remains tricky in terms of numerical routines and model interpretation, we try to give some guidance regarding gstat's functionalities in [1].

HTH,

 Ben

[1] https://journal.r-project.org/archive/accepted/na-pebesma-heuvelink.pdf


On 21.06.2016 17:16, Dan Turenne wrote:
Hello again,


After some tinkering with my code last night I got the sample variogram to work 
however now I have encountered another issue.  When attempting to use the 
fit.stVariogram function to fit the sample variogram I receive this error:


Error in optim(extractPar(model), fitFun, ..., method = method, lower = lower,  
:
  non-finite value supplied by optim


even if I specify the upper and lower arguments to be finite.  Could this error 
be cause by the initial values that I set for the space, time and joint 
variograms?  If so can anyone recommend  a good paper/article about how to fit 
these three variograms?  I have attached a link to my script and data below, if 
anyone has any insight as to why I am getting this error it would be 
appreciated.  I tried to be as thorough as I could in my code commenting, 
please let me know if anything is unclear.


https://www.dropbox.com/sh/7ccy5wu68gxf6sf/AACmk0AFxQvetunq4YPc9DXla?dl=0


________________________________
From: R-sig-Geo <r-sig-geo-boun...@r-project.org> on behalf of Edzer Pebesma 
<edzer.pebe...@uni-muenster.de>
Sent: June 21, 2016 1:52 AM
To: r-sig-geo@r-project.org
Subject: Re: [R-sig-Geo] Spatio Temporal kriging in Gstat

This might be due to a bug (or feature) in the software caused by the
sparseness in your data, which might be different from that used to test
the software. Please make the data available (off-list), along with an R
script, so we can try to reproduce the error message and look into it.

On 21/06/16 04:11, Dan Turenne wrote:
My apologies, I accidentally sent an unfinished email, here is the complete 
version of my question


Hello R-Sig-Geo,


As part of my masters thesis I am attempting to use spatio-temporal regression 
kriging to make predictions with temperature data, and I was hoping that 
someone might be able to give some insight as to how the algorithms work in 
gstat.  My data consists of daily temperature observations from April 1 to July 
31, 2000.  There are observations from 164 stations across these 122 days, 
however not all stations have observations on all days, making for a total of 
19282 records.


I have tried to use an STSDF object but I have not had any success.  I created 
an sp object of length 164 with the station locations:


    sp = data.frame(long = stations$long, lat = stations$lat)

    coordinates(sp) = ~ long+lat


Then I created a vector of length 122 with the times the observations were 
recorded and a data vector of length 19282:


    beginDate = as.Date(2000/04/01)

    endDate = as.Date(2000/07/31)

    times = as.POSIXct(seq(beginDate,endDate,by="days"))


    data=data.frame(temps$residual)


And I also made an index detailing where observations are available, it looks 
like this with the first column representing spatial index and the second 
representing the time index


    1   1

    2   1

    3   1

    4   1


    st=STSDF(sp,time,data,index,endTime=delta(time))


however when I try to calculate the sample variogram I get the following error:


    sample.stVariogram=variogramST(residual~1,data=st, tunit="days", tlags=1:7, 
progress=TRUE)



   Error in apply(do.call(cbind, lapply(ret, function(x) x$np)), 1, sum,  :
   dim(X) must have a positive length
   In addition: There were 50 or more warnings (use warnings() to see the first 
50)


All 50 of the errors are :


  In is.na(data[[as.character(as.list(formula)[[2]])]]) :
   is.na() applied to non-(list or vector) of type 'NULL'


Can anyone see what I am doing wrong or give me any pointers?  This error  is 
rather cryptic and I'm not quite sure what I'm doing wrong.  Any help would be 
appreciated.


Many Thanks,

Daniel Turenne

University of Manitoba


       [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
R-sig-Geo - R Special Interest Group on using Geographical 
...<https://stat.ethz.ch/mailman/listinfo/r-sig-geo>
stat.ethz.ch
R-sig-Geo -- R Special Interest Group on using Geographical data and Mapping 
About R-sig-Geo





--
Edzer Pebesma
Institute for Geoinformatics  (ifgi),  University of M�nster
Heisenbergstra�e 2, 48149 M�nster, Germany; +49 251 83 33081
Journal of Statistical Software:   http://www.jstatsoft.org/
Computers & Geosciences:   http://elsevier.com/locate/cageo/
Spatial Statistics Society http://www.spatialstatistics.info


        [[alternative HTML version deleted]]



_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


--
Dr. Benedikt Gräler
Institute of Hydrology
Ruhr University Bochum
Universitätsstraße 150
44801 Bochum

ben.graeler.org

+49 (0234) 32 - 27619

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to