前陣子自己曾寫一篇關於社會網路分析的文章,發現還不少人用 UCINET 關鍵字找到,然而那篇文章只是純粹地發牢騷,並沒有記下任何的使用資訊。今天有收到別人的留言,我想,就順道回憶一下這套軟體的使用。

首先,要做的事就是將手頭社群網路建成 UCINET 軟體可輸入的資料格式,在此以文字檔為例:(前兩行是制式格式)

dl n = 個數 , format = 輸入格式
data:
...
...

其中,個數代表整個圖中有幾個 node 組成,輸入格式可分成 node list 和 edge list 兩種,若圖是有權重的,那只能用 edge list 方式輸入。

  • nodelist

dl n = 4, format = nodelist1
data:      
1 2 3
2 3 4
3 4
4 3

此例代表 node 1 跟 node 2 和 node 3 有連線; node 2 跟 node3 和 node 4 有連線,以此類推

  • edgelist

dl n = 4, format = edgelist1
data:      
1 2 10
2 3 15
3 4 1
4 3 5

此例代表 node 1 連到 node 2 ,權重為 10 ;node 2 連到 node 3 ,權重為 15 ;node 3 連到 node 4 ,權重為 1 ,以此類推

以 edge list 或 node list 的輸入格式,都是有向圖的輸入,若要弄成無向圖時,則需留意輸入,例如輸入 node 1 連到 node 2 後,要記得再建立 node 2 連到 node 1 的資訊。而使用上述的格式,是因為社群網路資訊可能很大,因此會需要用程式產生輸入資料,若資料不大,可以使用 UCINET 提供的輸入方式。

UCINET 6 -> [Data] -> [Import from text data] -> [dl]

完成圖的輸入後,緊接著就是分析的部分,此部分必須搭配演算法的意義來使用,例如最簡單的就是輸出 in-degree 和 out-degree 資訊,透過基本的資訊,可以得知哪些點可能是重要的,例如某點的 out-degree 和 in-degree 都多,但表該點可能位於圖的中心等。然而,分析並不是這般簡單的,因此才會有源源不絕的演算法蹦出來,以 Betweenness 為例,簡言之,若有某點常常出現在一些最短路徑上,那該點可能是重要的,因此,可以用 UCINET 幫你計算出該圖各點的 Betweenness 數值,數值高的就是一種重要的意義。

UCINET 6 -> [Network] -> [Centrality] -> [Freeman Betweenness] -> [Node Betweenness]

以上述提到的 node list 測資丟入

sna sample

運算完的 Betweenness 資訊如下:

                  1            2
        Betweenness nBetweenness
       ------------ ------------
    3         0.500        8.333
    2         0.500        8.333
    1         0.000        0.000
    4         0.000        0.000

其中, 2 跟 3 所得的 0.5 數值是因為 1 到 4 這條路可分成 1->2->4 和 1->3->4 ,各取 1/2 的關係。

最後,並沒有什麼演算法是萬能的,對於社群網路的分析靠的是經驗,這些都是我所缺乏的。

其他資訊:


    全站熱搜

    changyy 發表在 痞客邦 留言(2) 人氣()