tempGP {DSWE} | R Documentation |
A Gaussian process based power curve model which explicitly models the temporal aspect of the power curve. The model consists of two parts: f(x)
and g(t)
.
tempGP(trainX, trainY, trainT = NULL)
trainX |
A matrix with each column corresponding to one input variable. |
trainY |
A vector with each element corresponding to the output at the corresponding row of |
trainT |
A vector for time indices of the data points. By default, the function assigns natural numbers starting from 1 as the time indices. |
An object of class tempGP
with the following attributes:
trainX - same as the input matrix trainX
.
trainY - same as the input vector trainY
.
thinningNumber - the thinning number computed by the algorithm.
modelF - A list containing the details of the model for predicting function f(x)
:
X - The input variable matrix for computing the cross-covariance for predictions, same as trainX
unless the model is updated. See updateData.tempGP
method for details on updating the model.
y - The response vector, again same as trainY
unless the model is updated.
weightedY - The weighted response, that is, the response left multiplied by the inverse of the covariance matrix.
modelG - A list containing the details of the model for predicting function g(t)
:
residuals - The residuals after subtracting function f(x)
from the response. Used to predict g(t)
. See updateData.tempGP
method for updating the residuals.
time_index - The time indices of the residuals, same as trainT
.
estimatedParams - Estimated hyperparameters for function f(x)
.
llval - log-likelihood value of the hyperparameter optimization for f(x)
.
gradval - gradient vector at the optimal log-likelihood value.
Prakash, A., Tuo, R., & Ding, Y. (2020). "The temporal overfitting problem with applications in wind power curve modeling." arXiv preprint arXiv:2012.01349. <https://arxiv.org/abs/2012.01349>.
predict.tempGP
for computing predictions and updateData.tempGP
for updating data in a tempGP object.
data = DSWE::data1
trainindex = 1:100 #using the first 100 data points to train the model
traindata = data[trainindex,]
xCol = 2 #input variable columns
yCol = 7 #response column
trainX = as.matrix(traindata[,xCol])
trainY = as.numeric(traindata[,yCol])
tempGPObject = tempGP(trainX, trainY)