-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Data correlation matrix is singular #155
Comments
do u think if it was a good idea to calculate pseudo inverse, if the inverse of the sub_corr_matrix gives error? |
I also have the same issue when I use |
Yea, this is due to some violation of the data-generating process, e.g., violation of faithfulness. I don't know if any strategy exists to detect this given an observed dataset. The pseudo-inverse could be a good solution in practice, but we need to investigate deeper to see if that would introduce any issue with the asymptotic guarantee. |
Perhaps adding some small random noises could help? |
Yes and can you check two things: What I learned with repeated data, it does create singular matrix. |
So I might be missing some theoretical concept, but want to clear it now.
I have a dataset, take the fork scenario.
My data is generated as follows:
Clearly, the rank is 1 and you can see in the fig below
When I perform causal discovery using PC, I get 'ValueError: Data correlation matrix is singular. Cannot run fisherz test. Please check your data.'
Below you can find the code which I'm using to perform causal discovery using PC.
Need help in understanding it, although I think as the data is correlated and singular I'm getting this error, however, how can I resolve this error without adding some random noise in the variables W & Y. Isn't causal discovery possible in my case?
The text was updated successfully, but these errors were encountered: