Skip to main content

Handling Multicollinearity

Detect and fix correlated predictors.

Detect with VIF

SELECT
variable,
vif
FROM anofox_statistics_vif(
ARRAY['marketing_spend', 'sales_team', 'ad_budget']
);

VIF > 10 = Problematic multicollinearity

Solution: Ridge Regression

SELECT
result.coefficients[1] as intercept,
result.coefficients[2] as effect_spend,
result.coefficients[3] as effect_team,
result.r_squared
FROM sales_data
APPLY anofox_statistics_ridge_agg(
revenue,
ARRAY[marketing_spend, sales_team],
MAP_CREATE(
ARRAY['lambda'],
ARRAY['0.5']
)
);

Lambda Selection

-- Try multiple lambda values
SELECT lambda, aic FROM (
SELECT '0.1' as lambda UNION
SELECT '0.5' UNION
SELECT '1.0' UNION
SELECT '2.0'
) lambdas,
LATERAL anofox_statistics_ridge_agg(...)
ORDER BY aic;

Next Steps

🍪 Cookie Settings