PC structure learning

The front end.
Post Reply
frito
Posts: 32
Joined: Wed Dec 12, 2007 8:51 pm

PC structure learning

Post by frito »

Since PC uses a cond independence test I suppose genie does NOT discretize the data when continuous observations are submited?

Also what indep. test it uses Chi^2?

How is it possible it is so incredibely FAST, other PC implementations I used for 100 variables simply did not work at all some resulted in two arcs for 100 variables and other implementations required exponential space(so could not run)?
thx
Last edited by frito on Wed Oct 22, 2008 6:03 pm, edited 2 times in total.
mark
Posts: 179
Joined: Tue Nov 27, 2007 4:02 pm

Post by mark »

PC indeed doesn't discretize the variables if they are continuous. It uses partial correlation in combination with the Z-test to establish conditional independence. Do other PC implementations limit the maximum number of adjacent nodes? This is a big time saver.
frito
Posts: 32
Joined: Wed Dec 12, 2007 8:51 pm

Post by frito »

mark wrote:PC indeed doesn't discretize the variables if they are continuous. It uses partial correlation in combination with the Z-test to establish conditional independence. Do other PC implementations limit the maximum number of adjacent nodes? This is a big time saver.
Hi Mark

yes the ones in BNT and SLP wont run on 100 vars they use use some inefficient way of doing things (e.g. it wants to create an impossible vector long 2^50 and the like...).

i was edditing my post while u answered, so here is the new portion of the problem:


ok so PC worked on continuous with about 6% of missing values only for fan-in 4, for fan-in 8 there is a Crash, on the other machine(lotta RAM -school server) there is an immediate popup "Error during PC learning" (even for the fanin 4 case)

When the missing values are replaced with mean, there is no crash, but I get into Pattern editor which wont let me procede,I would like to save that partial DAG if it is a partial dag at all? What to do?

The case with fanin 4 that works on missing data shows the dag without going via Pattern editor why?
frito
Posts: 32
Joined: Wed Dec 12, 2007 8:51 pm

bugs?

Post by frito »

with build 2937
I can learn PC structures with continuous with missing replaced by mean it doesnt whos me the Pattern editor (probably not implemented there yet).
But it seems it produces a DAG instead of a PDAG?? PC should result into a PDAG. How should I interpret such DAG?

build 3092
shows the pattern editor for the same data as above and tahts it, no option to save the PDAG (if it is a pdag)?
It pops an error message menstioned in the prev post when trying to learn with some missing values whereas build 2937 manages to learn structure for specific settings of fanin 4 threashold.5 bigger fanins crash it.
mark
Posts: 179
Joined: Tue Nov 27, 2007 4:02 pm

Post by mark »

You should use the latest GeNIe version. It contains the most recent implementation of the PC algorithm and outputs a pattern and not a DAG, as it should. It also checks for missing data which is not allowed. Thanks for the suggestion on saving the pattern, I'll see what I can do about that.
frito
Posts: 32
Joined: Wed Dec 12, 2007 8:51 pm

Post by frito »

mark wrote:You should use the latest GeNIe version. It contains the most recent implementation of the PC algorithm and outputs a pattern and not a DAG, as it should. It also checks for missing data which is not allowed. Thanks for the suggestion on saving the pattern, I'll see what I can do about that.
How is the PC in genie implemented could you please provide some references? Because as I mentioned in other post, I tested a couple of other implementation of PC and they would not run on larger nets about (90 nodes), other PCs produced 3 arcs...
But your implementation was super fast ...

I really could use those PC structures I managed to save already with build 2937, so Id like to know, are they correct, that is are the DAGs it generated withing the "correct" (i mean not bugged) equivalence class-PDAG?

Or was the PC completely bugged in that build, because I can just use the algos I have to convert the PC DAGs from Genie to PDAGs and work with it?
mark
Posts: 179
Joined: Tue Nov 27, 2007 4:02 pm

Post by mark »

The previous implementation was correct, except that it selected only one of the graphs in the equivalence class instead of showing them all. Did you try increasing the maximum number of adjacent nodes? Would you mind sharing your data?
frito
Posts: 32
Joined: Wed Dec 12, 2007 8:51 pm

Post by frito »

mark wrote:The previous implementation was correct, except that it selected only one of the graphs in the equivalence class instead of showing them all. Did you try increasing the maximum number of adjacent nodes? Would you mind sharing your data?

Thats good news Mark I can use them then :P

Here are the data, its censored data the value of 40 is the censored value, the other file is with mean imputation that one I used to learn PC structures in that older build.

Can u please send me the literature reference for the PC implementation in Genie?

thx
Attachments
undiff_diff_01.zip
(81.02 KiB) Downloaded 676 times
mark
Posts: 179
Joined: Tue Nov 27, 2007 4:02 pm

Post by mark »

I based my implementation on the book 'Causation, Prediction, and Search' by Spirtes, Glymour, and Scheines.
mark
Posts: 179
Joined: Tue Nov 27, 2007 4:02 pm

Post by mark »

Please update to the latest version of GeNIe. It has the capability of saving patterns and has a nasty bug fixed in PC.
Post Reply