edzer / spacetime

Classes and methods for spatio-temporal data
73 stars 20 forks source link

use of eof and interpretation #28

Closed ronnie89 closed 5 years ago

ronnie89 commented 7 years ago

HI, I've been reading a lot of texts by Edzer while trying to conduct EOF's. I recently read a thread, where Edzer describes changing EOF to eof. I have a couple of questions that I cannot find the answers to;

1)When using spacetime::eof, is there a way of getting eigenvalues from this package in order to ascertain the % of variance each EOF represents? e.g.... http://www.met.reading.ac.uk/~han/Monitor/eofprimer.pdf (Figure 1, page 9, as well as reported in fig 2 &3 on pages 11 and 12)

2) Am I right in assuming that the PC's produced with the following code are the equivalent of figure 3 here; (http://www.met.reading.ac.uk/~han/Monitor/eofprimer.pdf) EOF2 = eof(dataSTFDF,how="spatial",returnEOFs=FALSE) EOF2 PCs <- predict(EOF2)

3) Is figure 2(http://www.met.reading.ac.uk/~han/Monitor/eofprimer.pdf) the kriged equivalent of EOF = eof(dataSTFDF,how="spatial",returnEOFs=TRUE) ?

4) Is it acceptable to krige the EOF data rather than conduct an EOF on kriged data? (as suggested in; https://cran.r-project.org/web/packages/spacetime/vignettes/jss816.pdf)

Thanks, Ronnie

edzer commented 7 years ago
  1. Not directly afaics, but taking the element sdev out of the object returned by eof will give you the material to create such a plot; see examples(eof) and the last plot when generated by
    plot(eof(wind.st, "temporal", returnEOFs = FALSE))
  2. I think so.
  3. I don't see why kriging needs to be involved when the spatial data forms a grid already, as is the case by many model outputs
  4. the vignette does not say anything about whether this is acceptability, and you do not specify for which purpose you're evaluating acceptability, or by whom. The vignette just examplifies the computation of EOFs from a time sequence of spatial fields - their origin can be anything.
ronnie89 commented 7 years ago

1.) Please could you elaborate on this answer? How do I do this?

2) Great thanks.

3) I have point data from direct observations - not modelled. I could have phrased these questions better-sorry.

4) I have temperature point data from direct observations, taken at intervals of 1 minute over 14 hours at ~300 spatial locations(coordinates), within a 10x10m area. This data is currently in STFDF format. For presentation, I intend to; a) conduct EOF analysis, b) ascertain the eigenvalues (%) for the EOFs and c) conduct spatial interpolation of the EOFs showing the highest % of variance instead of interpolating the whole space-time dataset.

The vignette suggests ST interpolation before conducting the EOF analysis. I am considering spatial interpolation, of only the relevant EOFs after analysis. Are there any reasons why this should not be done?

Ronnie

edzer commented 7 years ago

after running example(eof) (corrected, spacetime from github):

> eof(wind.st, "temporal", returnEOFs = FALSE)$sdev
 [1] 5.141370e+01 3.267003e+01 2.630876e+01 1.905624e+01 1.530618e+01
 [6] 1.183902e+01 1.099975e+01 8.697324e+00 8.134017e+00 7.303645e+00
[11] 6.705013e+00 1.275181e-14

so variances must be

> eof(wind.st, "temporal", returnEOFs = FALSE)$sdev^2
 [1] 2.643369e+03 1.067331e+03 6.921509e+02 3.631401e+02 2.342791e+02
 [6] 1.401624e+02 1.209944e+02 7.564345e+01 6.616222e+01 5.334323e+01
[11] 4.495721e+01 1.626088e-28

Re: 4 -- I don't know.

ronnie89 commented 7 years ago

Thank you for your assistance.