Social Network Analysis 介紹
2015-06-06
Orozco Hsu
1
圖論 - 尤拉環 (七橋問題)
2
走完全部的橋,但每座橋只能走過一次 ,證明走法不存在(1735年尤拉提出)
一筆畫問題,該論文在聖彼得堡學院發表,成為圖論史上第一篇重要論文
圖論 – 商人路徑
3
圖論
• 在生活中很多問題可以利用圖來描述,例如工
作分配、網路基本結構等。這些問題都可以轉換
成圖來表示並解決及完成。圖論與拓樸學、代數
學、組合數學等學科關係極為密切。應用也相當
的廣泛, 已經滲透到電子學、生物學系統工程及
計算機科學等學科領域。基於上述原因, 引起了
越來越多的人對圖論的興趣與重視。電腦被引
進之後,演算法與圖論的結合促進了圖論的蓬勃
發展。我們也常利用演算法、資料結構等方法來
將問題做最佳化。
4
圖論與網路
• 圖論(graph)是有嚴謹基礎上討論的演算
法,強調的是算法,時間複雜度
– 地圖著色問題
– 船夫過河問題
– 任務分配問題
– 幻方
• 社群網路(network, SNA)是在圖論既有的
基礎上討論真實世界的社群結構
5
大綱
• 何謂 SNA ?
• 常用的 SNA 技術名詞介紹
• Gephi 上實習操作
• 觀察結論
6
社群網路
• 網路
– 互相連接一群的點
– 由通信線路連接的一系列點,點
•社群
–擁有相同興趣、或因共同目的而結合起來的
團體
•網路社群
–一個架構在網路環境中,虛擬的社會群體概
念
7
L.C Freeman
• 早在 1978 年, L. C. Freeman 就提出用
degree, closeness, betweenness 指標
衡量社群網路的 centrality,透過這三個
指標也可用於衡量網路關係狀況
• Freeman 大師
(http://moreno.ss.uci.edu/)
8
截至 2015-05-31,共有 8217 次
9
六度分隔理論
又稱小世界理論
• Six Degrees of Separation
• 哈佛大學心理學教授 Stanley Milgram 提出,
嘗試證明平均只需六個人就可以聯繫任何兩個
不認識的陌生人
• 實驗方法: 寄信給自己
• 鄧巴數來計算 (Robin Dunbar) -150定律
150*150*150*150*150*150 = 無限大的數
• 最新的研究 4.7,拜 FB 所賜
10
凱文貝肯的六層關係
11
• 1994年美國三位學生發起的 Six
Degrees of Kevin Bacon
• 選定某個演員後,開始一個個推展合作關
係,最後以連到凱文為終極目標
自己試試看
• 你→A→B→C→D→E→F→瑪丹娜
• 你→甲→乙→丙→丁→戊→己→張惠妹
• PS: A 只與 B 認識,A並不認識 C
12
網路 (network)
• 一個由一群點(node)與線(edge)所組成的個體
– 朋友關係網路
– 敵對關係網路
– 新陳代謝網路
– 生態網路
– 生物網路
13
Power-law 網路結構
• 大部分的點只有少數幾個鄰居,只有少
數點有很多鄰居
• 隨機拿掉幾個點,情況還是一樣,也就
是說還保留了網路的結構性
• 若拿掉鄰居數大的點,該網
路就很容易瓦解
14
Centrality
• Degree centrality
– 無向網路中,一個點的度數
• Closeness centrality
– 與其他所有點靠近程度,該值越大表示位居網路中央位置
– 扮演傳遞訊息角色
• Betweenness centrality
– 任意兩個點有很多路徑可以到達,若這些最短路徑都包含某
點,表示該點的值就高
15
• Degree Centrality
– 到該點距離為1的數量
– 擴展 => 到該點距離為 K 的數量
(k-path centrality)
• Closeness Centrality
– 原本是某點到所有點的最小距離,改為某點到
所有點的平均距離
– 或是,某點到關鍵點的最小距離,也就是說只
看某些關鍵點
• Betweenness Centrality
– 改成網路上所有點經過該點,且路徑長度為K
的數量 (k-betweenness centrality) 16
C(d) = 3
過去不好算,現在可以算
17
Ego network
• 看成是一個網路的子集,包含一個中心
點(ego)與鄰居點(alters)
– Degree centrality
– Closeness centrality
– Betweenness centrality
• 一般來說,不專注整體的網路研究,反
而著重在研究個體的性質的作法
18
Centrality & Prestige
19
Centrality & Prestige
• Centrality
– 每個點的值,非方向性
• Prestige
– 有方向性的關係
• 顯著地位(prominence)或稱為重要位置皆為描述社會網絡
中的位置顯著的點(actor)在網絡中通常都位居於很好的策
略性地位
• Prestige
– 有很多In-Degree的點
– 被很多人其他人選擇,且這些其他人本身也很有聲望
• Centralization and group prestige
– 群體內每個點的變異程度(可用 centrality計算)
20
PS: 平均值與變異值是不同的事情
21
Centrality & Prestige - Star
資料結構上如何描述 graph ? 優缺點 ?
• Adjacency matrix
• Adjacency list
集中度最高的狀況
22
Centrality & Prestige - Circle
集中度最低的狀況
23
Centrality & Prestige - Line
Centrality & Prestige - 顯著性
• 如果連結的關係使一個點在網絡中的位
置特別突顯(visible),我們稱此點位居顯
著地位
• 顯著性不僅是以直接(direct)及相鄰
(adjacent)的關係來衡量,間接的路徑
(indirect path)/權重也很重要
24
Yes/ No
0…1
25
A B C D E F G H I J
A 0 0 0 1 0 0 0 0 0
B 0 0 0 1 0 0 0 0 0
C 0 0 0 1 0 0 0 0 0
D 0 0 0 1 0 0 0 0 0
E 0 0 0 0 0 1 1 1 1
F 0 0 0 0 0 0 0 0 0
G 0 0 0 0 0 0 1 1 1
H 0 0 0 0 0 0 1 1 1
I 0 0 0 0 0 0 1 1 1
J 0 0 0 0 0 0 1 1 1
A
B
C
D
E
F
G H
I J
Row vector列向量
代表E 與其他人的關係
E詢問了哪些人?從E出
去的關係指向誰?
Column vector欄向量
代表其他人與E的關係
哪些人詢問了E?哪些箭
頭指向E?
矩陣中行與列的解讀方式
Centrality & Prestige
• Knoke & Burt區分兩種不同的顯著性
– 客觀的方式量測網路、量化並區別個體的顯著性與重要性
– Centrality: 無方向性,主要看度數
– Prestige: 有方向性,主要看 In-Degree 數
• In-Degree 較高者
– 熱門、受關注大
– 隱含商業上訊息傳播快 (越熱門網站,越多人看)
• Out-Degree
– 認識很多人
– 對很多事情都感興趣
26
Structural Hole
• Burt 提出的概念 (1992)
• 社會結構中弱連通的部分,也就是
在網路圖上的斷裂, SH 扮演資訊取
得、推薦的角色
• 換句話說: 中間商獲取利潤的機會
• SH 越大,表示越稀疏,In/Out-
Degree 都不高
27
Input Domain
• In-Degree 只能看出直接和自己相連點
的數量,也就是 Path Length = 1
• 而 Input Domain 是計算有向圖中 Path
Length > 1 以上點的數目
• 例如: 有點的 In-Degree不高,但他有被
其他 In-Degree高的人加入好友,也就
是透過第二、三層的關係把次數衝高
28
In-Degree Centralization
• 類似變異數的概念來觀察一群數值的變
異程度(某種程度可視為群)
• 集中度 (Centralization) 越大表示每個群
體之間的變異程度越大
• 從密度來觀察是否密集,而密度是群聚
性的一個指標,可透過 Sub-groups來
觀察
29
看看這個表,是否可以說故事
30
以頻道或以標籤的概念,找出那些寫這類型文章的人,而這群人與其他群體的關係
嘗試畫畫看? 怎麼用網路表示
寫這類文章的
作者朋友多
集中度越高,表示每個群體之
間的數值變異程度越大
提出假設,進行研究
• 社群網路中,degree centrality 越高,其傳播率越高
– 在社群D(c) 高者的個體在社群網路中,能透過較多的路徑
與該相鄰的點傳遞訊息
• 社群網路中,closeness centrality 越高,其傳播率越高
– 與其他點距離越近,更能快速接收訊息,訊息傳遞到其他
點也相對快
• 社群網路中, betweenness centrality 越高,其傳播率越高
– 扮演中間人角色,控制訊息的流動,影響不同group之間
的訊息傳遞
31
群聚性 (Cohesive)
• 找出,是否某部分的人是因為相同興趣而
緊密結合
• 方法
– Weak Components (弱連通)
– Strong Components (強連通)
– K-cores
• Components 是以 Path 的概念去尋找
Subgroups,SC 則強調 Path 是雙向可連
通,可設定 Path 的數量 32
SC (Path >=4)
33分為 三群
SCC (強連通) - Tarjan
34
WCC (弱連通)
35
K-cores
• 以 Degree 的概念去找,比較能看出群聚
的效果
• 與 Components 做法不同
• ALL(In-Degree + Out-Degree)
– 觀察到 5 cores ~ 9 cores 的點彼此間具有
緊密的結合
36
K-cores 分群
37
38
Degree Centralization Scores
Variance: .20
Variance: 3.9 Variance: .17
Variance: 0.0
39
=
= g
j
ji
ic
nnd
nC
1
),(
1
)( 042.0
24
1
==
=
−
= g
j
ji
ic
nnd
g
nC
1
'
),(
)1(
)( 50.0
24
12
==
=
= g
j
ji
ic
nnd
nC
1
),(
1
)(
Closeness Centrality:
40
Centralization: 1.0
Centralization: .31
Centralization: .59 Centralization: 0
Betweenness Centrality:
5/15 = 0.33
這個工作比較高竿 – 演算法工程師
41
42
視覺化
http://map.ipviking.com/
Visualization of WWW (2003)
Start From Scratch
• 1. 探索主題及目標決定
• 2. 相關資料集選定及來源評估
• 3. 來源資料格式分析
• 4. 資料取得
• 5. 檔案結構設計, 資料儲存及正規化
• 6. 資料前處理 (修整, 去雜訊, 聚合或合併, 重新量化)
• 7. 資料探索維度可行性評估及管理 (網路模型建立, 及指令
管理: Views, Stored-Procedures…)
• 8. 資料輸出以及社會網路分析工具界接
• 9. 網路指標計算
• 10. 網路數據指標輸出及指標詮釋
• 11. 網路圖形輸出及圖形詮釋
• 因為 Google 興起,後來大家注重 SEO,於是 PR 變成顯學
• 一個頁面的得票數由所有鏈向它的頁面的重要性來決定,到
一個頁面的超連結相當於對該頁投一票
• 一個頁面的PageRank是由所有鏈向它的頁面(「鏈入頁面」)
的重要性經過遞迴算法得到的。一個有較多鏈入的頁面會有
較高的等級,相反如果一個頁面沒有任何鏈入頁面,那麼它沒
有等級
Page Rank
45
EdgeRank
• Facebook 的朋友推薦其中之一演算法
– u : Affinity between the user and the friends
– w : Weight given to the specified behavior
– d : Decay factor
其他演算法
• Triangle count
• Katz
• Hits
• Strongly connected components
• Connected components
• Label propagation
• SVD++
• …
• http://seo.dns.com.tw/?p=96
• https://spark.apache.org/graphx/
47
看看 Neo4j (No-SQL)
• 專門用來儲存network資料,可用來處理
SNA 問題
• 為 No-SQL 的一種
– Key-Value Store
– Column based Store
– Document based Store
– Graph based
48
參考 : http://www.3pillarglobal.com/insights/exploring-the-different-types-of-nosql-databases
看看 Neo4j (No-SQL)
49
連到老師的平台: http:// 192.168.100.195:7474
試試看 Geiph
請使用測試資料madp_in_final.gephi
50
參考
Adjacency List
51
參考
• Pajek: network 計算工具
– http://vlado.fmf.uni-lj.si/pub/networks/pajek/
• UCInet: network 計算工具
– https://sites.google.com/site/ucinetsoftware/home
52
Information Centrality
• Betweenness centrality是最常用的居中
指標
• Freeman的 betweenness centrality有兩
個假設:
• (1) 假設每一條最短路徑被選取的機率皆
相等
• (2) 只考慮最短路徑而忽略其他可能溝通
的管道
53
Information Centrality
• 假設每一條最短路徑被選取的機率皆相等?
54
n5-n1-n2與n5-n3-n2被選取
的機率是否相同?
度數較高的居間者被選擇的
機率較大
Information Centrality
• 只考慮最短路徑而忽略其他可能溝通的管道
• 有時為了隱藏或保護資訊,會選擇迂迴的路徑來傳遞
訊息(Stephenson & Zelen, 1989)
55
Information Centrality
• Stephenson & Zelen發展出資訊居中的測量,
考慮介於兩個行動者之間的所有路徑,然後依
照路徑長短來給予加權。
• 在統計學中,我們經常用一估計式(estimator)
的變異數的倒數來衡量「訊息」,如果變異量
很小,我們說這個估計所隱含的資訊十分豐富,
如果變異數很大,則此估計的數值沒有代表性,
所含資訊很有限。 56
Information Centrality
• Stephenson & Zelen用同樣的原理來考量一個路徑所
含資訊品質應該與路徑的長短成反比。路徑越長,其
所傳遞的資訊的變異量愈大,因此一路徑所包含的資
訊為變異量的倒數
• 由於此種居中測量的計算十分複雜
57
58
原始 標準化
1 Acciaiuoli 0.554 0.049
2 Albizzi 0.830 0.074
3 Barbadori 0.763 0.068
4 Bischeri 0.832 0.074
5 Castellani 0.794 0.071
6 Ginori 0.483 0.043
7 Guadagni 0.917 0.082
8 Lmaberteschi 0.511 0.046
9 Medici 1.064 0.095
10 Pazzi 0.394 0.035
11 Peruzzi 0.779 0.070
12 Ridolfi 0.901 0.080
13 Salviati 0.598 0.053
14 Strozzi 0.878 0.078
15 Tornabuoni 0.902 0.081
TOTAL 11.2

=
i
iI
iI
iI
nC
nC
nC
)(
)(
)('
Stephenson & Zelen建
議用標準化分數使其介
於0-1之間:
幻方
59

Social network analysis