Skip to content

Use dimension-adjusted GVIFs for collinearity plots and severity groups - #998

Open
jbogomolovas2 wants to merge 1 commit into
easystats:mainfrom
jbogomolovas2:fix-gvif-scaling
Open

jbogomolovas2 wants to merge 1 commit into
easystats:mainfrom
jbogomolovas2:fix-gvif-scaling

Conversation

@jbogomolovas2

@jbogomolovas2 jbogomolovas2 commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Hi, I noticed that performance 0.19.0.3 correctly accounts for term degrees of freedom in the adj. VIF column, but the plots and severity groups still compare raw GVIFs with the usual 5/10 cutoffs.

I suggest using GVIF^(1/df) for these displays, keeping the existing logarithmic axis and 5/10 bands. For example, a term with 11 coefficients and raw GVIF of 2048 would be displayed at 2048^(1/11) = 2.

This is simply the square of the existing adjusted GVIF:

(GVIF^(1/(2*df)))^2 == GVIF^(1/df)

For one-coefficient terms, this recovers ordinary VIF exactly. The same normalization is used by semEff::VIF(). Keeping 5/10 therefore preserves the existing convention on a variance-inflation scale.

This PR updates severity groups, the interaction warning threshold, and plotting data, including consistently transformed confidence limits. Raw GVIFs, confidence limits, and adjusted GVIFs in the returned table remain unchanged.

The companion see PR labels the plotted scale explicitly.

Validation: 313 targeted expectations passed; 21 optional/CRAN-skipped tests. Regression coverage includes factor interactions, confidence limits, check_model() consistency, and unchanged one-coefficient results.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant