WeibullGLM | R Documentation |
This class represents a generalized linear model with Weibull distribution. It inherits from GLM and implements its functions that, for example, evaluate the conditional density and distribution functions.
gofreg::ParamRegrModel
-> gofreg::GLM
-> WeibullGLM
fit()
Calculates the maximum likelihood estimator for the model parameters based on given data.
WeibullGLM$fit( data, params_init = private$params, loglik = loglik_xy, inplace = FALSE )
data
tibble containing the data to fit the model to
params_init
initial value of the model parameters to use for the optimization (defaults to the fitted parameter values)
loglik
function(data, model, params)
defaults to loglik_xy()
inplace
logical
; if TRUE
, default model parameters are set
accordingly and parameter estimator is not returned
MLE of the model parameters for the given data, same shape as
params_init
f_yx()
Evaluates the conditional density function.
WeibullGLM$f_yx(t, x, params = private$params)
t
value(s) at which the conditional density shall be evaluated
x
matrix of covariates, each row representing one sample
params
model parameters to use (list()
with tags beta and shape),
defaults to the fitted parameter values
value(s) of the conditional density function, same shape as t
F_yx()
Evaluates the conditional distribution function.
WeibullGLM$F_yx(t, x, params = private$params)
t
value(s) at which the conditional distribution shall be evaluated
x
matrix of covariates, each row representing one sample
params
model parameters to use (list()
with tags beta and shape),
defaults to the fitted parameter values
value(s) of the conditional distribution function, same shape as
t
F1_yx()
Evaluates the conditional quantile function.
WeibullGLM$F1_yx(t, x, params = private$params)
t
value(s) at which the conditional quantile function shall be evaluated
x
matrix of covariates, each row representing one sample
params
model parameters to use (list()
with tags beta and shape),
defaults to the fitted parameter values
value(s) of the conditional quantile function, same shape as
t
sample_yx()
Generates a new sample of response variables with the same conditional distribution.
WeibullGLM$sample_yx(x, params = private$params)
x
matrix of covariates, each row representing one sample
params
model parameters to use (list()
with tags beta and shape),
defaults to the fitted parameter values
vector of sampled response variables, same length as nrow(x)
clone()
The objects of this class are cloneable with this method.
WeibullGLM$clone(deep = FALSE)
deep
Whether to make a deep clone.
# Use the built-in cars dataset
x <- datasets::cars$speed
y <- datasets::cars$dist
data <- dplyr::tibble(x=x, y=y)
# Create an instance of WeibullGLM
model <- WeibullGLM$new()
# Fit an Weibull GLM to the cars dataset
model$fit(data, params_init = list(beta=3, shape=1), inplace=TRUE)
params_opt <- model$get_params()
# Plot the resulting regression function
plot(datasets::cars)
abline(a = 0, b = params_opt$beta)
# Generate a sample for y for given x following the same distribution
x.new <- seq(min(x), max(x), by=2)
y.smpl <- model$sample_yx(x.new)
points(x.new, y.smpl, col="red")
# Evaluate the conditional density, distribution, quantile and regression
# function at given values
model$f_yx(y.smpl, x.new)
model$F_yx(y.smpl, x.new)
model$F1_yx(y.smpl, x.new)
y.pred <- model$mean_yx(x.new)
points(x.new, y.pred, col="blue")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.