[R-sig-Geo] FW: gstat now uses Lapack / failing cokriging

2015-12-11 Thread Heuvelink, Gerard
Hi Edzer,

I checked the Ver Hoef and Cressie (1993) paper but could not find a reference 
to deriving the cross-covariance from the cross-variogram as 
"C(h)=C(0)-gamma(h) with C(0)=max(0, sum of the positive sill values)". I did 
notice that their paper is mostly about the pseudo cross-variogram (defined in 
Eq. 9), while we and presumably gstat as well work with the 'normal' 
cross-variogram (Eq. 8).

I think the proper relation is Cij(h)=Cij(0)-Vij(h), where 
Cij(h)=E[(Zi(s)-E[Zi(s)])*(Zj(s+h)-E[Zj(s+h)])] is the cross-covariance and 
Vij(h)=0.5*E[(Zi(s)-Zi(s+h))*(Zj(s)-Zj(s+h))] is the normal cross-variogram. 
This relation is valid if Z is second-order stationary (conditions 1 and 2 on 
page 220 of VH&C) and satisfies the symmetric cross-covariance condition (i.e. 
Cij(h)=Cij(-h), condition 3 on the same page). I would recommend that you 
implement this relation instead of "C(h)=C(0)-gamma(h) with C(0)=max(0, sum of 
the positive sill values)".

What I still do not understand is that the 'old' version of gstat did not 
complain about our Allier example, because using the alternative derivation of 
the cross-covariance from the cross-variogram produces a kriging system that is 
not positive-definite.

Gerard

-Original Message-
From: R-sig-Geo [mailto:r-sig-geo-boun...@r-project.org] On Behalf Of 
r-sig-geo-requ...@r-project.org
Sent: 18 November 2015 12:00
To: r-sig-geo@r-project.org
Subject: R-sig-Geo Digest, Vol 147, Issue 17

Send R-sig-Geo mailing list submissions to
r-sig-geo@r-project.org

To subscribe or unsubscribe via the World Wide Web, visit
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
or, via email, send a message with subject or body 'help' to
r-sig-geo-requ...@r-project.org

You can reach the person managing the list at
r-sig-geo-ow...@r-project.org

When replying, please edit your Subject line so it is more specific than "Re: 
Contents of R-sig-Geo digest..."


Today's Topics:

   1. Re: gstat now uses Lapack / failing cokriging (Bruin, Sytze de)
   2. Re: gstat now uses Lapack / failing cokriging (Edzer Pebesma)
   3. issues with NAs when using resample function (Beth Forrestel)
   4. Re: issues with NAs when using resample function (Stephen Stewart)
   5. grass ascii support in the raster package (Cornel Pop)


--

Message: 1
Date: Tue, 17 Nov 2015 17:14:22 +
From: "Bruin, Sytze de" 
To: "'r-sig-geo@r-project.org'" 
Subject: Re: [R-sig-Geo] gstat now uses Lapack / failing cokriging
Message-ID: <4d812a6858d942f589a5502e117b1...@scomp5295.wurnet.nl>
Content-Type: text/plain; charset="us-ascii"

Hi Edzer, thanks for your prompt reply. I tried reproducing your matrix r but 
got a different result, i.e. a valid covariance matrix. The cross-covariances 
are different. Using the same example as above, my code is as follows:

library(sp)
library(gstat)

# some data
x <- c(215, 330, 410, 470, 545)
y <- c(230, 310, 330, 340, 365)
fc <- c(0.211, 0.251, 0.281, 0.262, 0.242) por <- c(0.438, 0.457, 0.419, 0.430, 
0.468) Allier <- data.frame(x, y, fc, por)
coordinates(Allier) = ~x+y

# gstat object for co-kriging using linear model of co-regionalization g <- 
gstat(id=c("fc"), formula=fc~1, data=Allier,
model=vgm(0.00247, "Sph", 480, 0.00166)) g <- gstat(g, id="por", 
formula=por~1, data=Allier,
model=vgm(0.00239, "Sph", 480, 0.00118)) g <- gstat(g, id=c("fc", 
"por"),
model=vgm(0.00151, "Sph", 480, -0.00124))


dists <- spDists(Allier)
r11 <- variogramLine(g$model$fc, dist_vector = dists, covariance = T)
r12 <- variogramLine(g$model$fc.por, dist_vector = dists, covariance = T)
r22 <- variogramLine(g$model$por, dist_vector = dists, covariance = T) r <- 
cbind(r11, r12) r <- rbind(r, cbind(r12, r22))

> r
  [,1] [,2] [,3] [,4] [,5] 
[,6] [,7]
 [1,] 0.004130 0.0014193874 0.0008959951 0.0005655821 0.0002240733 
0.000270 0.0008677227  [2,] 0.0014193874 0.004130 0.0018397575 
0.0013976206 0.0008790828 0.0008677227 0.000270  [3,] 0.0008959951 
0.0018397575 0.004130 0.0020030001 0.0014238096 0.0005477541 0.0011247100  
[4,] 0.0005655821 0.0013976206 0.0020030001 0.004130 0.0018652970 
0.0003457607 0.0008544158  [5,] 0.0002240733 0.0008790828 0.0014238096 
0.0018652970 0.004130 0.0001369841 0.0005374150  [6,] 0.000270 
0.0008677227 0.0005477541 0.0003457607 0.0001369841 0.003570 0.0013734154  
[7,] 0.0008677227 0.000270 0.0011247100 0.0008544158 0.0005374150 
0.0013734154 0.003570  [8,] 0.0005477541 0.0011247100 0.000270 
0.0012245061 0.0008704261 0.0008669750 0.0017801702  [9,] 0.0003457607 
0.0008544158 0.0012245061 0.000270 0.0011403233 0.0005472637 0.0013523535 
[10,] 0.0001369841 0.0005374150 0.0008704261 0.0011403233 0.000270 
0.0002168159 0.0008506105
  [,8] [,9][,10]
 [1,] 0.0005477541 0.0003457607 0.00013698

[R-sig-Geo] raster: stackApply problems..

2015-12-11 Thread Mark R Payne
Hi,

[reposted from r-help]

I am trying to use stackApply() to perform averages over subsets of a
brick. However, I am struggling with the indices argument, and how it
should be interpreted. Here is a simple working example illustrating my
problem:

r <- raster()
r[] <- 1

inp <- brick(r,r,r,r,r,r)*(1:6)
res <- stackApply(inp,c(2,2,3,3,1,1),mean)

Now if we look at the values of each object:

> inp
names   : layer.1, layer.2, layer.3, layer.4, layer.5, layer.6
min values  :   1,   2,   3,   4,   5,   6
max values  :   1,   2,   3,   4,   5,   6

> res
names   : layer.1, layer.2, layer.3
min values  : 3.5, 5.5, 1.5
max values  : 3.5, 5.5, 1.5

Now, the problem is that the names and order of the layers in "res" don't
line up with the indices that I provided. You can do the maths in your head
- e.g. the first two layers of "inp" have values of 1 and 2, so their mean
should be 1.5 - however, this is ending up as layer 3 in "res".

So how should the indices argument be interpreted in this context?

Suggestion: A more intuitive format for the "indices" argument in
stackApply might be as a factor - this way the order is implict and
stackApply ends up working similar to split() or tapply()...

Best wishes,

Mark

[[alternative HTML version deleted]]

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