I am trying to implement recursive multicollinearity removal using VIF in KNIME.
Goal:
Iteratively remove the column with the highest VIF if VIF > threshold (5).
Stop when no VIF > 5 remains.
Workflow Logic
-
Initial dataset → Recursive Loop Start
-
Compute VIF (custom component from KNIME Hub)
-
Sort VIF descending → Top k Row Filter (k=1)
-
Rule Engine
if top VIF > 5 →"REMOVE"else"STOP" -
Table Row to Variable
Extract top-VIF column name → variable -
Column Name Extractor
Get full list of columns -
Reference Row Filter
Remove the column if action = REMOVE
Else pass data unchanged -
IF Switch → End IF → Recursive Loop End
Issue
Everything works except wiring the loop correctly.
-
The Recursive Loop End executes, but
-
The Recursive Loop Start bottom feedback port remains empty in my setup
-
So workflow doesn’t allow execution as a full loop
I get stuck deciding which output should connect to the feedback input on Recursive Loop Start.
Can any one please help with what I am missing here?
Best Regards,
KNIME_project.knwf (205.5 KB)


