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
- Prediction Intervals — Forecasting with uncertainty
- Reference: Models — Ridge API