easystats / easystats/performance
check_colinearity() returns warning for no intercept with 0 + Intercept syntax in {brms}
Open
Nobody has claimed this yet.
Bug :bug:
- Dominant language
- R
- Stars
- 1.2k
- Forks
- 109
- Avg merge
- 6h 34m
- Merged PRs (30d)
- 8
Description
Reprex:
mod = brm(mpg ~ 0 + Intercept + cyl + disp + hp, data = mtcars, backend = "cmdstan", refresh = 0)
Warning message:
Model has no intercept. VIFs may not be sensible.
High Correlation
Term VIF Increased SE Tolerance
Intercept 24.89 4.99 0.04
cyl 94.79 9.74 0.01
disp 26.63 5.16 0.04
hp 19.57 4.42 0.05
My understanding is that this model does include the intercept, but allows a prior on the intercept. Am I correct in thinking this is an ignorable warning?
Population-Level Effects:
Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
Intercept 34.28 2.79 28.69 39.88 1.00 1503 1926
cyl -1.26 0.85 -2.95 0.40 1.00 1402 1653
disp -0.02 0.01 -0.04 0.00 1.00 1734 2301
hp -0.01 0.02 -0.04 0.02 1.00 2232 1960
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the warning with check_colinearity() and the supplied brm() model using 0 + Intercept syntax. Inspect how the check identifies an intercept and verify the expected warning behavior; done when the result correctly reflects the model and regression coverage is added.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- r
- Domain
- data
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100