Check multicollinearity for $p > n$ data

To check the multicollinearity, the method I know is to use vif in car library. To use vif, we first have to fit a model. However, the data is $p > n$. We cannot fit a linear regression model with OLS. Then we try to fit in LASSO but all coefficients are 0. Hence, I cannot check the multicollinearity.

Is there a way to check multicollinearity without a model? For example, correlation matrix. But what if $x1 = x2 + x3$?

I have read this post . I am not clear how does PCA detect (rather than handling) multicollinearity.

• Which is it? Your title says $p\gt n$ but you assert "the data is $p\lt n$." Regardless, it sounds like you know your data are multicollinear, so what does it mean to "check" it? What does it mean to "handle" it?
– whuber
Commented Oct 20, 2016 at 21:36
• I subjectively believe there is multicollinearity issue. I need a object method to see if there is such issue. By handle, I mean methods that would mitigate the issue. For example, deleting a variable. It seems I need to take English class along with statistics classes. Commented Oct 20, 2016 at 21:54
• $p>n$ data is always multicolinear, no? Commented Oct 20, 2016 at 22:23
• You cannot. @Firebug is correct: $p \gt n$ implies collinearity, period.
– whuber
Commented Oct 21, 2016 at 1:54
• When you say "check" are you searching for a way to find out which variables are responsible, perhaps in combination? Commented Oct 21, 2016 at 12:28

As I commented (and @whuber ratified), $n<p$ data is always multicolinear. The reason is simply the rank deficiency that results in the linear dependency across variables, i.e. you end with an under-determined system. Just like is explained in Why $p > n$ implies multicollinearity?.
The determinant of the covariance matrix is also an indication of multicollinearity: if it's equal to $0$ at least one eigenvalue is therefore $0$ which implies a linear dependence between variables.