What is PyMimic?¶
PyMimic is a pure-Python implementation of linear prediction for real-valued random variables [G62]. Linear prediction may be used for curve fitting, Kriging [C86], DACE modelling [S89], and Gaussian-process emulation [RW06]. These are the intended uses of PyMimic.
The basics¶
A linear predictor for a random variable \(Z\) based on a random process \(X := \{X_{t}\}_{t \in T}\) is a linear combination of the elements of \(X\). By denoting this predictor \(\hat{Z}\) we have that
We may form the best linear predictor (BLP) by choosing the set of coefficients, \((a_{t})_{t \in T}\), so as to minimize the mean-squared error, \(\operatorname{E}((Z - \hat{Z})^{2})\).
We may further impose the constraint that the expected values of \(Z\) and \(\hat{Z}\) are equal, i.e. that \(\operatorname{E}(\hat{Z}) = \operatorname{E}(Z)\). In order to do this, we work under the assumption that \(\operatorname{E}\) is an element of a finite-dimensional space of functions, \(F\). We then minimize the mean-squared error \(\operatorname{E}((Z - \hat{Z})^{2})\) subject to the constraint that \(\operatorname{E}_{f}(\hat{Z}) = \operatorname{E}_{f}(Z)\) for all \(\operatorname{E}_{f} \in F\). We call this the best linear unbiased predictor (BLUP).
PyMimic provides the classes Blp
and Blup
for the
purposes of computing realizations of these predictors.
PyMimic also provides the following submodules:
kernel
, a suite of positive-definite kernels, which may be used as second-moment or covariance kernels when specifying \((Z, X)\);
basis
, a suite of bases, which may be used to specify the space of mean-value functions when computing the BLUP;
testfunc
, a suite of test functions, which may be used to illustrate linear prediction; and
plot
, plotting routines that may be used to visualize the results of linear prediction and assist in their validation.
References¶
- C86
Cressie, N. 1986. ‘Kriging nonstationary data’ in Journal of the American Statistical Association, 81 (395): 625–34. Available at https://www.doi.org/10.1080/01621459.1986.10478315.
- G62
Goldberger, A. S. 1962. 'Best linear unbiased prediction in the generalized linear regression model' in Journal of the American Statistical Association, 57 (298): 369–75. Available at https://www.doi.org/10.1080/01621459.1962.10480665.
- RW06
Rasmussen, C.E., and C.K.I. Williams. 2006. Gaussian processes for machine learning. Cambridge: MIT Press.
- S89
Sacks, J., Welch, W. J., Mitchell, T.J., and H. P. Wynn. 1989. ‘Design and analysis of computer experiments’ in Statistical science, 4 (4): 409–23. Available at https://www.doi.org/10.1214/ss/1177012413.