前陣子自己曾寫一篇關於社會網路分析的文章,發現還不少人用 UCINET 關鍵字找到,然而那篇文章只是純粹地發牢騷,並沒有記下任何的使用資訊。今天有收到別人的留言,我想,就順道回憶一下這套軟體的使用。
首先,要做的事就是將手頭社群網路建成 UCINET 軟體可輸入的資料格式,在此以文字檔為例:(前兩行是制式格式)
dl n = 個數 , format = 輸入格式
data:
...
...
其中,個數代表整個圖中有幾個 node 組成,輸入格式可分成 node list 和 edge list 兩種,若圖是有權重的,那只能用 edge list 方式輸入。
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 有連線,以此類推
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 測資丟入
運算完的 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 的關係。
最後,並沒有什麼演算法是萬能的,對於社群網路的分析靠的是經驗,這些都是我所缺乏的。
其他資訊:
|