predict.sgdgmf | R Documentation |
Computes the predictions of a GMF model. Out-of-sample predictions for a new
set of responses and covariates are computed via MLE, by keeping fixed the values
of the estimated B
and V
and maximizing the likelihood with respect
to A
and U
.
## S3 method for class 'sgdgmf'
predict(
object,
...,
newY = NULL,
newX = NULL,
type = c("link", "response", "terms", "coef"),
parallel = FALSE,
nthreads = 1
)
object |
an object of class |
... |
further arguments passed to or from other methods |
newY |
optionally, a matrix of new response variable |
newX |
optionally, a matrix of new covariate values |
type |
the type of prediction which should be returned |
parallel |
if |
nthreads |
number of cores to be used in parallel (only if |
If newY
and newX
are omitted, the predictions are based on the data
used for the fit. In that case, the predictions corresponds to the fitted values.
If newY
and newX
are provided, a corresponding set of A
and
U
are estimated via maximum likelihood using the glm.fit
function.
By doing so, B
and V
are kept fixed.
If type="link"
or typr="response"
, a matrix of predictions.
If type="terms"
, a list of matrices containing the fields XB
, AZ
and UV
.
If type="coef"
, a list of matrices containing the field B
, A
, U
and V
.
# Load the sgdGMF package
library(sgdGMF)
# Generate data from a Poisson model
data = sim.gmf.data(n = 120, m = 20, ncomp = 5, family = poisson())
train = sample(1:120, size = 100)
test = setdiff(1:120, train)
Y = data$Y[train, ]
newY = data$Y[test, ]
# Fit a GMF model with 3 latent factors
gmf = sgdgmf.fit(Y, ncomp = 3, family = poisson())
# Get the fitted values of a GMF model
str(predict(gmf)) # returns the overall fitted values in link scale
str(predict(gmf, type = "response")) # returns the overall fitted values in response scale
str(predict(gmf, type = "terms")) # returns the partial fitted values in link scale
str(predict(gmf, newY = newY)) # returns the predictions for the new set of responses
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.