2017-09-15 66 views
1

如何從貝葉斯信念網絡找到變量間的因果關係?如何在weka中使用貝葉斯beleifnetwork找到變量之間的隨意關係?

我所不解的是,找到變量之間的因果關係,我需要構建貝葉斯信念網絡。

我google了一下,所有的例子說,它需要專業的知識和足夠的數據來建立一個BBN。

我看到有在Weka中的貝葉斯網絡的API。但對我來說太複雜了。 什麼是一步在Weka的一步程序,這樣我可以建立從數據集的貝葉斯網絡(數據集包含幾個變量和目標變量)

我已經用下面的代碼試圖

BayesNet bn= new BayesNet(); 
    //bn.m_Instances=data; 
    LocalScoreSearchAlgorithm sa= new LocalScoreSearchAlgorithm(); 
    String[] options = new String[1]; 
    options[0] = "-D";          
    bn.setOptions(options); 
    //bn.m_Instances=data; 
    bn.initStructure(); 
    bn.initCPTs(); 
    bn.buildStructure(); 

但它不起作用。我嘗試了其他幾種組合。但我沒有建立一個網絡。

有一次,我建立一個網絡如何找到變量之間的因果關係?如何解釋?

回答

0

首先,貝葉斯網絡從數據中瞭解到只能說明變量之間的「關係」,而不是「因果關係」。例如,如果你有變量A,B,C,和d,以及網絡從數據得知已A和B爲C的父母,和C d的母公司,它並不一定意味着A和B原因C,或者C導致D.這隻意味着它們是相關的。瞭解變量之間的因果關係需要專業知識。

如Weka中構建貝葉斯網絡,你可以簡單地使用GUI。當您打開界面,點擊「資源管理器」,然後單擊「打開文件」,然後選擇您的文件(文件必須在ARFF格式)。然後繼續「分類」選項卡。點擊「選擇」,然後選擇「秧雞/分類/貝斯/ BayesNet」。然後點擊「開始」,網絡將被創建。