ForK Library
Functions/Subroutines

krigingeipredict.f90 File Reference

Subroutine to Predict Expected improvement from Kriging Surface based on a given minimum value (requires buildkriging to be called first) More...

Go to the source code of this file.

Functions/Subroutines

subroutine krigingeipredict (ndim, ntot, X, stot, H, beta, V, hyper, mtot, Xm, Hm, EI, covarflagi, Ymin)
 Due to the stochastic nature of Kriging models, the variance and mean predictions can be used to predict the expected outcomes for various scenarios. A typical scenario is to determine the expected improvement of a current minimum value if a new sample point is generated at a particular location in the domain. This expected improvement is useful within the context of optimization, where the expected improvement is used as a criteria for determining new sample locations with a high probability of finding a new minimum. Because the Kriging surface is based on a gaussian process, the expected improvement can be computed analytically using the mean function predictions and the variance predictions from the Kriging model:

Detailed Description

Subroutine to Predict Expected improvement from Kriging Surface based on a given minimum value (requires buildkriging to be called first)

Definition in file krigingeipredict.f90.


Function Documentation

subroutine krigingeipredict ( integer,intent(in)  ndim,
integer,intent(in)  ntot,
real(8),dimension(ndim,ntot),intent(in)  X,
integer,intent(in)  stot,
real(8),dimension(stot,ntot),intent(in)  H,
real(8),dimension(stot),intent(in)  Beta,
real(8),dimension(ntot),intent(in)  V,
real(8),dimension(ndim+2),intent(in)  hyper,
integer,intent(in)  mtot,
real(8),dimension(ndim,mtot),intent(in)  Xm,
real(8),dimension(stot,mtot),intent(in)  Hm,
real(8),dimension(mtot),intent(out)  EI,
integer,intent(in)  covarflagi,
real(8),intent(in)  Ymin 
)

Due to the stochastic nature of Kriging models, the variance and mean predictions can be used to predict the expected outcomes for various scenarios. A typical scenario is to determine the expected improvement of a current minimum value if a new sample point is generated at a particular location in the domain. This expected improvement is useful within the context of optimization, where the expected improvement is used as a criteria for determining new sample locations with a high probability of finding a new minimum. Because the Kriging surface is based on a gaussian process, the expected improvement can be computed analytically using the mean function predictions and the variance predictions from the Kriging model:

\[ EI(x) = \begin{cases} (y_{min} - y^{*}(x)) \Phi \left( \frac{y_{min}-y^{*}(x)}{s(x)} \right) + s(x) \phi \left( \frac{y_{min}-y^{*}(x)}{s(x)} \right) & \text{if $s(x)>0$,} \\ 0 & \text{if $s(x)=0$} \end{cases}\]

where is the probability density function and is the cummulative distribution function for the Normal distribution.

Author:
Brian Lockwood
Department of Mechanical Engineering
University of Wyoming
Date:
May 2, 2012
Parameters:
in)ndim : The dimension of the problem
in)ntot : The number of Training points
in)X : The location of the training points (size=[ndimxntot])
in)stot : Number of Terms in the regression
in)H: The collocation matrix for the regression (size=[stotxntot])
in) beta: Regression coefficients based on the optimal estimate for the Kriging model (size=[stot])
Supplied by buildkriging subroutine
in)V: Processed Training Data (size=[ntot])
Supplied by buildkriging subroutine
in)hyper: Hyperparameters for the Kriging Model (size=[ndim+2])
Supplied by buildkriging subroutine
in)mtot : The number of test points, the places where function prediction are desired
in)Xm : The location of the test points (size=[ndimxmtot])
in)Hm : The collocation matrix evaluated at the test points (size=[stotxmtot])
out)EI: The predicted expected improvement value (size=[mtot])
in)covarflagi: Flag to govern which covariance function is used

  • covarflag==0 Uses Matern function with \(\nu=1/2\)
  • covarflag==1 Uses Matern function with \(\nu=3/2\)
  • covarflag==2 Uses Matern function with \(\nu=5/2\)


The parameter \(\nu\) governs the smoothness and differentiability of the covariance function. For function only Kriging, all three options are available.
Must supply the same covariance flag as used in buildkriging.

in) Ymin : Minimum value to be improved upon

Definition at line 47 of file krigingeipredict.f90.

 All Classes Namespaces Files Functions Variables