Package 'DatAssim'

Title: Data Assimilation
Description: For estimation of a variable of interest using Kalman filter by incorporating results from previous assessments, i.e. through development weighted estimates where weights are assigned inversely proportional to the variance of existing and new estimates. For reference see Ehlers et al. (2017) <doi:10.20944/preprints201710.0098.v1>.
Authors: Svetlana Saarela and Anton Grafström
Maintainer: Svetlana Saarela <[email protected]>
License: GPL (>= 2)
Version: 1.0
Built: 2024-12-07 06:28:23 UTC
Source: CRAN

Help Index


Data Assimilation

Description

This function estimates a variable of interest through Data Assimilation technique by incorporating results from previous assessments.

Usage

datassim(X, Var, Corr)

Arguments

X

Matrix of predictions, with n number of rows as the number of observations, and t number of columns as the number of time points from which data were collected.

Var

Matrix of corresponding prediction variances, same dimension as X.

Corr

Matrix or value of correlations between observations from different time points, by default Corr = 0.

Value

$weights

Estimated Kalman gain according to Eq.[7] in Ehlers et al. (2017).

$PreDA

Predicted values through Data Assimilation according to Eq.[5] in Ehlers et al. (2017).

$VarDA

Corresponding estimated variances according to Eq.[6] in Ehlers et al. (2017).

$Correlation

Correlation matrix.

References

Ehlers, S., Saarela, S., Lindgren, N., Lindberg, E., Nyström, M., Grafström, A., Persson, H., Olsson, H. & Ståhl, G. (2017). Assessing error correlations in remote sensing-based predictions of forest attributes for improved data assimilation. DOI

Examples

Pred1 = rnorm(10, mean = 50, sd = 100);
Pred2 = rnorm(10, mean = 50, sd = 30);
Pred3 = rnorm(10, mean = 50, sd = 80);
Pred4 = rnorm(10, mean = 50, sd = 100);
# Predictions based on ten observations, at four different time points
Prediction = cbind(Pred1, Pred2, Pred3, Pred4); 
Var1 = matrix(10000, 10);
Var2 = matrix(900, 10);
Var3 = matrix(1600, 10);
Var4 = matrix(10000, 10);
# Corresponding prediction variances
Variance = cbind(Var1, Var2, Var3, Var4);
# Corr = 0 by default
datassim(X = Prediction, Var = Variance);
# Corr = 0.5
datassim(Prediction, Variance, 0.5); 
Corr = cor(Prediction);
datassim(Prediction, Variance, Corr);