Description Usage Arguments Value Determining uncertainty in predictions Examples
Safe predictions from an nls object
1 2 | ## S3 method for class 'nls'
safe_predict(object, new_data, type = "response", ...)
|
object |
An |
new_data |
Required. A data frame containing predictors. |
type |
What kind of predictions to return. Options are:
|
... |
Unused. |
A tibble::tibble() with one row for each row of new_data.
Predictions for observations with missing data will be NA. Returned
tibble has different columns depending on type:
"response":
univariate outcome: .pred (numeric)
multivariate outcomes: .pred_{outcome name} (numeric) for each
outcome
"class": .pred_class (factor)
"prob": .pred_{level} columns (numerics between 0 and 1)
"link": .pred (numeric)
"conf_int": .pred, .pred_lower, .pred_upper (all numeric)
"pred_int": .pred, .pred_lower, .pred_upper (all numeric)
If you request standard errors with std_error = TRUE, an additional
column .std_error.
For interval predictions, the tibble has additional attributes level
and interval. The level is the same as the level argument and is
between 0 and 1. interval is either "confidence" or "prediction".
Some models may also set a method attribute to detail the method
used to calculate the intervals.
Note that stats::predict.nls() has an se.fit argument, but it is
currently ignored. There is no build-in capability in base R to determine
the uncertainty in the predictions from nls.
In practice, there are two options to get these:
Bootstrapping (recommended)
The Delta Method
Bootstrapping: We recommend using the rsample package for
bootstrapping, in particular rsample::bootstraps(). See
1 | vignette("bootstrapping", package = "safepredict")
|
for worked examples.
Delta Method: Some people seem to be happy to use the delta method,
and others claim it is numerically unstable. Two options include
car::deltaMethod() and emdbook::deltavar().
1 2 3 4 5 | fit <- nls(demand ~ SSasympOrig(Time, A, lrc), data = BOD)
safe_predict(fit, BOD)
fit2 <- nls(mpg ~ k / wt + b, mtcars, start = list(k = 1, b = 0))
safe_predict(fit2, mtcars)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.