Problèmes avec le krigeage ordinaire

8

Je suivais cet article wiki lié au krigeage ordinaire

entrez la description de l'image ici

Maintenant, ma matrice de covariance ressemble à ceci, pour 4 variables

1   0.740818220681718   0.548811636094027   0.406569659740599
0.740818220681718   1   0.740818220681718   0.548811636094027
0.548811636094027   0.740818220681718   1   0.740818220681718
0.406569659740599   0.548811636094027   0.740818220681718   1

Eh bien la relation entre semvariogramme et variogramme est donnée par

γ(h)/(C0)=1C(h)/C(0)

J'ai donc également calculé le . Maintenant, quand j'essaie de calculer les poids commeγ(h)

A = 1.0000    0.7408    0.5488    1.0000
    0.7408    1.0000    0.7408    1.0000
    0.5488    0.7408    1.0000    1.0000
    1.0000    1.0000    1.0000         0 

B =  0.4066
    0.5488
    0.7408
    1.0000

Je prends la quatrième variable comme manquante

 [W;mu] = inv(A)*B =  0.1148
                      0.0297
                      0.8555
                     -0.1997

Ce qui précède était en utilisant la covariance. Maintenant, en utilisant la semi-variance j'avais

A = 0         0.2592    0.4512    1.0000
    0.2592         0    0.2592    1.0000
    0.4512    0.2592         0    1.0000
    1.0000    1.0000    1.0000         0

B = 0.5934
    0.4512
    0.2592
    1.0000


inv(A)*B =  0.1148
            0.0297
            0.8555
            0.1997

Comme vous pouvez le voir, les derniers termes ne sont pas égaux. Lorsqu'en fonction de la dérivation, elles sont égalées ou dites égales. Des clarifications?

user34790
la source
Tous les gars. Ça me tue. Qu'est-ce que je fais mal?
user34790
Pas une solution (je ne savais pas comment poster ceci dans la section commentaire dans un joli format lisible) mais avez-vous remarqué la structure de l'inverse de A dans les deux cas différents? > A = matrice (c (1.0000,0.7408,0.5488,1.0000, + 0.7408,1.0000,0.7408,1.0000, + 0.5488,0.7408,1.0000,1.0000, + 1.0000,1.0000,1.0000,0), nrow = 4)>> résoudre (A) [, 1] [, 2] [, 3] [, 4] [1,] 1,9619812 -1,7076503 -0,2543309 0,4426230 [2,] -1,7076503 3,4153005 -1,7076503 0,1147541 [3,] -0,2543309 -1,7076503 1,9619812 0,4426230 [ 4,] 0,4426230 0,1147541 0,4426230 -0,7705443>>> A = matrice (c (0,0,2592,0,4512,1,0000, + 0,2592,0,0,2592
2
Il n'y a rien dans la dérivation qui dit que doit être le même dans les formulations de covariance et de semi-variance. μ
whuber

Réponses:

2

Je soupçonne que la formule citée de l'article de Wikipédia résulte d'une confusion dans les notations, comme si était censé être la covariance de la formule bien qu'elle ait été précédemment utilisée pour le semi-variogramme théorique, ainsi que pour l'échantillon semi-varié. variogramme ... Si je comprends bien, et sont aussi la même chose, le "nouveau" vecteur de localisation.γxx0

Pour obtenir à la fois le même multiplicateur de Lagrange et le vecteur de poids de krigeage avec le variogramme , vous devez utiliser un système différent où est la matrice et est le vecteur μwnγ

[Γ110][wμ]=[γ1]
Γn×nΓ=[γ(xi,xj)]i,jγγ=[γ(x,xi)]i impliquant le nouvel emplacement et est un vecteur de ceux de longueur .x1n

Voir (jusqu'à modifications des notations) Statistiques des données spatiales par N. Cressie p. 121 dans l'édition révisée.

## using the covariance 
Acov <-  matrix(c(1.0000, 0.7408, 0.5488, 1.0000,
                  0.7408, 1.0000, 0.7408, 1.0000,
                  0.5488, 0.7408, 1.0000, 1.0000,
                  1.0000, 1.0000, 1.0000, 0.0000),
                nrow=4) 
Bcov <- c(0.4066, 0.5488, 0.7408, 1.0000)
## using the variogram 
Avario <- matrix(-1, nrow = 4, ncol = 4)
Avario[1:3, 1:3] <- 1 - Acov[1:3, 1:3]
Avario[4, 4] <- 0
Bvario <- 1 - Bcov
Bvario[4] <- -1
## compare
cbind(cov = solve(Acov, Bcov), vario = solve(Avario, Bvario))
Yves
la source