This vignette will present how to visualize the effects and
interactions using estimate_relation()
.
Note that the statistically correct name of
estimate_relation
is estimate_expectation
(which can be used as an alias), as it refers to expected predictions
(read more).
Simple regression
Linear relationship
library(modelbased)
model <- lm(Sepal.Length ~ Sepal.Width, data = iris)
visualization_data <- estimate_relation(model)
head(visualization_data)
> Model-based Predictions
>
> Sepal.Width | Predicted | SE | 95% CI
> ---------------------------------------------
> 2.00 | 6.08 | 0.18 | [5.73, 6.43]
> 2.27 | 6.02 | 0.14 | [5.74, 6.30]
> 2.53 | 5.96 | 0.11 | [5.75, 6.17]
> 2.80 | 5.90 | 0.08 | [5.75, 6.06]
> 3.07 | 5.84 | 0.07 | [5.71, 5.97]
> 3.33 | 5.78 | 0.08 | [5.62, 5.94]
>
> Variable predicted: Sepal.Length
> Predictors modulated: Sepal.Width
library(ggplot2)
plot(visualization_data, line = list(color = "red")) +
theme_minimal()
More complex regressions
Polynomial
lm(Sepal.Length ~ poly(Sepal.Width, 2), data = iris) |>
modelbased::estimate_relation(length = 50) |>
plot()
Additive Models
library(mgcv)
> Loading required package: nlme
> This is mgcv 1.9-1. For overview type 'help("mgcv-package")'.
mgcv::gam(Sepal.Length ~ s(Sepal.Width), data = iris) |>
modelbased::estimate_relation(length = 50) |>
plot()