Skip to content
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

Unrecognized edge type o--. #29

Open
tk27182 opened this issue Aug 8, 2019 · 6 comments
Open

Unrecognized edge type o--. #29

tk27182 opened this issue Aug 8, 2019 · 6 comments

Comments

@tk27182
Copy link

tk27182 commented Aug 8, 2019

Running a bootstrapped tetradrunner FCI with a high enough alpha value (0.1) will sometimes throw the error:

Error in cgraph(graph$nodes, new_edges) : Unrecognized edge type o--.

Printing the graph's edge lists doesn't show that edge type in the list, and running it again will sometimes not throw the error and proceed normally.

@tk27182
Copy link
Author

tk27182 commented Aug 8, 2019

Actually, the edge does appear in the original graph, I was printing after the cgraph was made.

Perhaps adding a new global variable .CIRCLEUNDIRECTED <- "o--" to globals.R would be a solution?

@tzimiskes
Copy link
Owner

@ekummerfeld is one of those things that Joe did to try to make sense of the "orientation" phase in FCI when the data is bad? It seems to me that "o--" isn't quite a real edge type

@tzimiskes
Copy link
Owner

@tk27182 Depending on what Erich says, I may convert it into "o-o" when I get around to updating the code

@ekummerfeld
Copy link
Collaborator

I'm also not 100% sure if that's a real edge type or not. I'm trying to imagine how FCI's logic would produce such a thing. It looks like it's making an arrow tail at one end, and a circle at the other, so it's at least still the standard 3 characters long. I juts can't really think up on the fly a situation where one would identify that specific combination of endpoints from data.

I'll inquire with Joe and get back to you.

@ekummerfeld
Copy link
Collaborator

Thinking about it more, the circle kinda indicated "maybe a latent here" while the arrow tail indicate "no latents here", so at the very least this combination of endpoints on one edge seems contradictory in terms of their semantics. That makes me lean towards "not a real edge type", but I still want to confirm with Joe first. If it isn't a real edge type, there's still a big "then why did FCI do this?" question.

@tzimiskes
Copy link
Owner

I think we have shown the resampling methods can really muck up TETRAD PC variants, especially when the sample size is pretty small.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants