Krigeage de combinaisons linéaires

D. Renard et X. Freulon

24 avril 2017

Introduction

Le script a pour objectif le test de nouvelles fonctions pour gérer les combinaisons linéaires dans RGeostats.

Les fonctions et options disponibles sont :

Il s'agit de simplifier le cokrigeage de combinaisons linéaires de variables.

Exemple : Estimer \(Z = A \times Y\)

Les valeurs de \(Y\) sont connues en homotopique ou hétérotopique et le variogramme (ou la covariance) est donné par un modèle de corégionalisation linéaire. L'appel de la fonction kriging avec l'option mat.CL = A permet ce calcul.

Le krigeage étant un opérateur linéaire, on peut calculer le krigeage des composante puis en calculer la combinaison linéaire des krigeages :

\[ A \times (Y^{*}) = (A \times Y)^{*} \]

Mais cette option ne permet pas le calcul de l'écart-type de krigeage sauf dans le cas particulier où les composantes sont non corrélées.

Applications dans RGeostats

Cas sans corrélation

Création d'un échantillon pour une combinaison linéaire de deux variables indépendante : \[Z = a \times X_1 + b \times X_2\] avec \(X_1\) et \(X_2\) deux FAST-2 Gaussiennes non corrélées.

Le jeux de données est constitué de 500 points:

Pour chaque point, les valeurs de deux composantes \(X_1\) et \(X_2\) sont simulées selon le modèle initial et \(Z\) est calculé. Ceci défini le cas homotopique.

Pour définir le cas hétérotopique, les valeurs de \(X_1\) et \(X_2\) sont effacées avec la probabilité 1/2. Les valeurs observées sont alors préfixées par obs .

Un voisinage unique est utilisé pour tous les tests:

neigh <- neigh.create(ndim = 2, type = 0)

Deux fonctions internes sont définies:

Pour des raisons de lisibilité, les codes de ces deux fonctions n'apparaissent pas dans ce papier.

Le cas homotopique

Cet échantillon est divisé en une sélection de donnée et une sélection de contrôle.

Dans le cas homotopique les variables \(X_1\), \(X_2\) et \(Z\) sont connues pour tous les points de la sélection des données sel_data .

Les statistiques sont données ci-dessous :

Statistiques des données initiales sans correlation et homotopiques
Number Minimum Maximum Mean Std. Deviation
V1 333 -2.946333 3.332358 -0.1903874 1.056573
V2 333 -3.148913 2.077230 -0.3922627 1.316560
Z 333 -14.460768 11.533287 -1.9498256 5.316892
V1 167 -3.104438 1.930590 -0.1913323 0.960426
V2 167 -3.032186 1.578381 -0.5269282 1.156925
Z 167 -13.423037 7.156977 -2.4903773 4.691309

Les étapes du calculs sont :

  • Estimation par cokrigeage des deux composantes à partir des valeurs composantes. Comme ces composantes sont non corrélées, ceci est équivalent à un krigeage séparé de chacune des composantes. L'estimation de la combinaison linéaire est calculée.

  • Estimation directe par cokrigeage de la combinaison linéaire des composantes.

Sur les graphiques ci-dessous on vérifie bien:

  • que l'estimateur de la combinaison linéaire est égale à la combinaison linéaire des estimateurs.

  • que l'écart-type de krigeage est supérieur à l'écart-type du cokrigeage

  • l'absence de biais conditionnel des estimateur \(E\{Z \mid Z^{*}\} = Z^{*}\)

Les scores d'estimation du cokrigeage sont bien supérieurs à ceux du krigeage.

est.k <- ""
data <- db.delete(data, names = c("ok*", "ck*"))
data <- QC_LC_V12(cas = est.k)

# Score des estimations
Z.nm <- paste0("Z", est.k)
kable(db.score(data, 
               var.name = "Z", 
               est.names = paste(c("ck", "ok"), Z.nm, "estim",sep ="."),
               std.names = paste(c("ck", "ok"), Z.nm, "stdev",sep ="."),
               flag.na = TRUE), 
      caption = "Scores d'estimation pour le cas homotopique sans corrélation")
Scores d'estimation pour le cas homotopique sans corrélation
ck.Z.estim ok.Z.estim
ME -0.0226839 -0.0197529
MAE 0.9179569 0.9936210
RMSE 1.1548630 1.2295723
NMSE 0.8824006 0.9168662
LogS 2.3200703 2.3198332

Le cas hétérotopique

Cet échantillon est divisé en une sélection de données et une sélection de contrôle.

Dans le cas hétérotopique les variables \(X_1\) ou \(X_2\) sont connues avec une probabilité 1/2 pour tous les points de la sélection "sel_data".

Les statistiques sont données ci-dessous:

Statistiques des données initiales sans correlation et heterotopiques
Number Minimum Maximum Mean Std. Deviation
V1_obs 160 -2.548602 3.332358 -0.1223211 1.028075
V2_obs 158 -3.120806 2.077230 -0.3806468 1.319473
Z_obs 84 -14.038006 11.533287 -1.2305693 5.408387
V1 167 -3.104438 1.930590 -0.1913323 0.960426
V2 167 -3.032186 1.578381 -0.5269282 1.156925
Z 167 -13.423037 7.156977 -2.4903773 4.691309

Les étapes du calculs sont :

  • Estimation par cokrigeage des deux composantes à partir des valeurs composantes. L'estimation du la combinaison linéaire est calculée.

  • Estimation directe par cokrigeage de la combinaison linéaire des composantes.

Sur les graphiques ci-dessous on vérifie bien que :

  • l'estimateur de la combinaison linéaire est égale à la combinaison linéaire des estimateurs.

  • l'écart-type de krigeage est supérieur à l'écart-type du cokrigeage

  • l'absence de biais conditionnel des estimateur \(E\{Z \mid Z^{*}\} = Z^{*}\)

Les scores d'estimation du cokrigeage sont bien supérieurs à ceux du krigeage.

Scores d'estimation pour le cas hétérotopique sans corrélation
ck.Z_obs.estim ok.Z_obs.estim
ME 0.2063402 0.1867625
MAE 1.0648923 1.2482826
RMSE 1.3403018 1.5572556
NMSE 0.8262644 0.7439325
LogS 2.1786554 2.0595551

C'est donc cohérent... Passons à des combinaisons linéaires de variables corrélées.

Cas avec corrélation

On reprend l'échantillon utilisé pour le test sans corrélation mais on ajoute une corrélation \(rho = 0.7\) entre les deux composantes initiales. Pour simplifier les variables initiales sont écrasées et le même code est utilisé...

\[V_2 = \rho V_1 + \sqrt{1 - \rho ^ 2} V_2\]

Les composantes et leur modèle sont modifiés :

Le cas homotopique

Dans le cas homotopique, les variables \(X_1\) et \(X_2\) sont toutes deux connues pour tous les points de la sélection "sel_data".

Les statistiques sur les données utilisées pour tester le cas homotopique sont données dans le tableau ci-dessous.

Statistiques des données initiales avec correlation et homotopiques
Number Minimum Maximum Mean Std. Deviation
V1 333 -2.946333 3.332358 -0.1903874 1.0565728
V2 333 -3.170327 3.201864 -0.4134028 1.0887950
Z 333 -16.625143 19.472173 -2.0343860 5.7558629
V1 167 -3.104438 1.930590 -0.1913323 0.9604260
V2 167 -2.618416 1.731840 -0.5102346 0.9700979
Z 167 -13.970749 10.599121 -2.4236030 5.1832969

Les étapes du calculs sont :

  • Estimation par cokrigeage des deux composantes à partir des valeurs composantes. L'estimation du la combinaison linéaire est calculée.

  • Estimation directe par cokrigeage de la combinaison linéaire des composantes.

Sur les graphiques ci-dessous on vérifie bien que :

  • l'estimateur de la combinaison linéaire est égale à la combinaison linéaire des estimateurs.

  • l'écart-type de krigeage est supérieur à l'écart-type du cokrigeage

  • l'absence de biais conditionnel des estimateur \(E\{Z \mid Z^{*}\} = Z^{*}\)

Les scores d'estimation du cokrigeage sont bien supérieurs à ceux du krigeage.

Scores d'estimation pour le cas homotopique avec corrélation
ck.Z_obs.estim ok.Z_obs.estim
ME 0.0358476 0.0833285
MAE 2.2982585 2.8289869
RMSE 2.9213754 3.6124724
NMSE 0.8441701 0.8730278
LogS 2.4586872 2.3525149

Le cas hétérotopique

Dans le cas hétérotopique, les variables \(X_1\) ou \(X_2\) sont connues avec une probabilité 1/2 pour tous les points de la sélection "sel_data".

Les statistiques sur les données utilisées pour tester le cas hétérotopique sont données dans le tableau ci-dessous.

Statistiques des données initiales avec correlation et hétérotopiques
Number Minimum Maximum Mean Std. Deviation
V1_obs 152 -2.667093 2.364478 -0.2037557 1.0422310
V2_obs 157 -2.985877 2.740662 -0.3561641 1.0251179
Z_obs 77 -13.232212 13.380904 -2.0972860 5.7063962
V1 167 -3.104438 1.930590 -0.1913323 0.9604260
V2 167 -2.618416 1.731840 -0.5102346 0.9700979
Z 167 -13.970749 10.599121 -2.4236030 5.1832969

Les étapes du calculs sont :

Sur les graphiques ci-dessous on vérifie bien que :

Les scores d'estimation du cokrigeage sont bien supérieurs à ceux du krigeage.

Scores d'estimation pour le cas hétérotopique avec corrélation
ck.Z_obs.estim ok.Z_obs.estim
ME 0.0358476 0.0833285
MAE 2.2982585 2.8289869
RMSE 2.9213754 3.6124724
NMSE 0.8441701 0.8730278
LogS 2.4586872 2.3525149

Conclusion

On pourrait appliquer ces méthodes pour la mise en oeuvre du modèle d'écrêtage.