社會網絡分析(1) - 基於 F-J 模型的問題架構方法

Edward Tung
數學、人工智慧與蟒蛇
11 min readAug 20, 2020

[讀論文] SOCIAL INFLUENCE AND OPINIONS — Friedkin & Johnsen (1990)

An individual opinion often influenced by his/her current information and other’s opinions, which then forms a public opinion as observed ; 圖我自己畫的,並非精準傳達F-J模型精髓,但可作為此問題研究的開端

前言

目前的資料科學中有一門重要的領域稱為社會網路分析(Social Network Analysis),當然,與其說他是獨立的領域不如說是一種架構問題的方式,通過人與人之間的連結(比如社交聯繫)去架構數學問題,進而對該問題做出分析以達成一些特定目標。舉例而言,通過社交平台上的人際連線網絡進行輿情分析,進而去影響廣告投放策略、關鍵宣傳渠道等等。

根據架構 Social Network 方式的不同,能夠對其進行的分析方式也有所不同,最簡單的方式是透過解決一連串的線性等式,這也是本篇文章要介紹的,算是對社會網路這塊領域的先行者 F-J 模型,論文提出的時間是 1990's ,也就是將近三十年前研究的問題。現代來說,由於計算能力上的進步,基於圖論(分散式網路)的計算方式變得更加受歡迎,解決的方法也多半變成如動態規劃、偏微分方法去處理。

循序漸進,為了更好地理解社會網路分析的發展結構,本文將著重在傳統的 F-J 模型思路,文章最後也會補上一段基於 F-J 模型的改進方法,通過考慮 time-dependent 與 non-linear relations 的因素來討論從個人的社交網絡到群體共識的一種 Opinion Dynamics。

在這邊先附上原論文參考連結網址 :

1. Social Influence and Opinions (本篇重點) : https://www.researchgate.net/publication/247563204_Social_Influence_and_Opinions#read2. Opinion Dynamics and Bounded Confidence Models, Analysis and Simulation (這篇會放之後介紹): 
https://www.math.fsu.edu/~dgalvis/journalclub/papers/02_05_2017.pdf

接下來,我們會深入介紹這篇論文的思路 :

意見形成的網絡結構 : 基礎模型

整個意見形成可以透過很簡單的方式表達,也就是一群人的意見表達(outputs)、可以通過每個人手上的現有資訊(inputs),觀察出以整體而言,現有資訊如何轉變成意見表達的一系列運作過程(functions)。當然,隨著時間演變一個人的意見表達可能會不同,因此我們需要的是一個隨時間改變的 Functions ,最直覺的表達形式就是寫成 :

在 T =1 的時候 ,團體的意見表達可以透過觀察每個人的意見表達與每個人的現有資訊,透過簡單的方式去優化 :

Y(1) = X(1)B(1);其中 :
Y = n * 1 矩陣,代表意見表達
X = n * k 矩陣,代表 k 個現有資訊的變量
B = k * 1 矩陣,代表各現有資訊對意見表達的效果

在 T = 2, 3, …, T的時候 ,除了每個現有資訊的權重會有變化,團體的意見表達通常也受到上期團體的表達意見所左右,因此 :

Y(t) = α(t)*W(t)*Y(t-1)+β(t)X(t)B(t);其中 :
Y(t) ; X(t) ; B(t) 參照上述定義
α(t) 是一個內生 Scalar,用以調整上期的意見有多少程度左右本期意見
W(t) = n*n 矩陣,去說明不同個人在上期意見的交互影響
β(t) 是外生 Scalar,同樣用於調整該期的現有資訊有多少程度左右本期意見

根據上述的表達,實際上會是一個網狀的結構,但這個網狀結構考慮了從 T = 1 ~ T 也就是過去所有期間的意見總和,如果我們設定一個 Static 的情況,取假設不同個人上期意見的交互影響效果並不隨時間改變,也就是 W2 = W3 = ... = Wt,並將上述的表達式寫成 Recursive,其實就變成 :

由上述表達可以看到,這樣的寫法充分地考慮了過去的所有組合,當然因為這是一份90年代的論文,考慮的複雜度相對不高,也都是透過線性等式的方式去架構整個網絡結構,但的確不失為是一個經典的表達方法。

當然,你可能會好奇說這東西接下來要怎麼實現(求解),接下來我們來看一下整個基礎模型是怎麼被解決的,首先從上面的 Recursive Expression 開始,當 t = ∞ 時,我們知道 :

因此,我們便得到如上的表達式,代表隨著時間演進夠久後的集體意見表達向量,可以寫成所有當前現有資訊與參數的線性組合。這個閉式解十分的有效率,代表你可以僅透過簡單的線性最小平方法,從第一期的觀察結果 Y1,以及現有資訊 X,去得到矩陣 B (現有資訊對意見表達的效果),進而透過第二期 Y2 得到 W 後,就可以知道隨著時間變化大家的意見表達最終會如何。當然,你也可以加入擾動項,以得到一個更完整的線性表達式。這也是 F-J 模型中最主要的核心思想,也就是最終集體的意見表達會達成 Equilibrium。

至此,你可以從集體意見表達矩陣 Y 中萃取個人的意見表達,假設群體之中只有兩個人,可以各自寫成 :

當然,僅考慮這些效益又略顯簡單,畢竟意見表達實際上是很多內外在因素交雜的結果,也許不僅有單純上期意見的影響。因此,這裡介紹幾種擴增 :

Peer Effect Model 同儕效應模型

還記得剛才提到矩陣 W 代表是不同個人在上期的意見會彼此影響,也就是你身邊的人說了甚麼,可能會左右你的價值觀,如果你將該矩陣展開來看,多半來說你會發現每個 row 都會有一些人的影響力是大於0的,而其他人的影響力為0,可能是距離你比較遠的一些意見(同溫層以外)。

這時,我們可以先做一個假設 :

上述式子說明了每個人都會被一定數量的人影響,並且假設每個人的影響力是同等的,即一個人被不同人上期意見的影響幅度都是平均的,如果有十個人分別表達不同意見,這十個人對於這些意見的影響權重是一樣的,比方說其中六個人對某意見表達支持,四個人反對,平均對你而言就是60%的支持40%的反對,概念十分好理解。

Group Consensus Model 集體共識模型

從上述的同儕效應模型我們可以進一步做一個擴充,也就是有時候集體共識會創造結構性的意見變動,因此上述的同儕效應可能不復存在,也就是當社會集體傾向於某類意見時,即使你的同儕有不同的表達聲音,你可能也不會違反集體共識而特立獨行。首先我們假設 :

根據上式,我們可以知道由於 α 為上期他人的意見左右當期變量的整體影響權重,在集體共識的前提下大部分的意見可能都會來自他人的意見,因此當α 趨近於 1 的時候,會得到 :

根據上式,可以看到 Equilibrium 的形式變得更簡單了,這也代表在集體共識下,實際上影響的複雜程度大幅減低(某種程度上也可以說人變得更好預測了),僅需要現有資訊與他人影響矩陣即可。

F-J 模型與從眾效應 (Social Conformity)

在了解以上的問題架構到底怎麼被實際應用在真實的社會學以前,我們先來看一些社會學的理論 : 通常來說,公眾持有的意見在社會學理論有舉足輕重的地位,這些不同的意見將會形成一種規範秩序(Normative Orders),讓群體出現一種特定反復的行為,而這樣的過程形成了社會從眾行為(Social Conformity)理論的核心,也就是當群體中的其他人有一個對某議題有相對單一的意見的時候,個人會很難持有打破常規的意見(Idiosyncratic Opinion)。因此在規範秩序的情況下,社會影響的過程會是一個持續增強的順序,並最終達成一種均衡。

** 我並非社會學專業,若有謬誤還請不吝指正

達到均衡以後又會發生甚麼事呢 ? 對於這樣的結果闡釋通常會出現兩種派別 : 其一是認為這種規範秩序並不會造成持續性的社會衝突或不合,也就是這些人認為能夠在規範秩序體系下,過度強調了那些 "過度社會化" 的個人,因此整個規範秩序體系的影響實際上是被過份誇張了。但另外一種派別則認為在某些情況下,人與人的交互影響會產生社會共識,最終出現反復的特定幾種行為造成社會之間出現衝突;這兩種派別因此,通常爭吵的點在於對以下幾個方向評估上的認知差異 :

1. 本質上個人意見的差異程度
2. 外在出現社會不合時,趨勢的持續性
3. 個人間的同質利益與外在持續的社會差異如何影響群體形成共識

在這樣的爭執底下,實際上剛才介紹的 F-J 模型就能夠很有效率的解決這些評論,對這些問題的分析,我們可以這樣架構 :

此時我們是將上述的分析公式給濃縮成 V 矩陣,此時矩陣中的每一項 V_ij 恰巧就代表了團體中成員 j 對於成員 i 的最終意見表達的相對影響程度,此時每個 row 的加總為 1,恰巧代表了個人被群體意見左右的程度,會散布在群體之中每個人之間,權重有高有低。

如果我們將上式中每個人各自展開來看,會得到 :

上面公式的第一個等號很好理解,但第二個等號甚麼意思? 這邊將原公式透過引入一個新符號 m 的方式拆開,這個 m 又代表甚麼意思? 概念上是指除了成員 i 以外的所有其他人所持意見的平均,也就是 :

當然,單純透過這樣解釋鐵定會覺得怪怪的,群體意見的平均是甚麼概念 ? 但別忘記這是在量化的世界,實際執行上你可以自己給出定義,比如說透過發放問卷的方式,在不同期給到每位消費者調查並收集意見。舉個例子,在消費者剛進來使用產品時進行一次問卷調查,作為第一期意見;過兩三個月後再次詢問,以確保蒐集到第二期的意見,此時根據 F-J 模型,就可以推斷出長期而言消費者的意見組成是怎麼樣子,不同消費者之間對產品的觀感如何影響單一消費者,且該意見表達有多少成分來自消費者的屬性(年齡、性別等),又有多少成分來自同儕、共識影響。

回到剛才的問題,等式的左半邊是成員 i 本身一開始的意見表達,以及其他人的平均意見表達的加權權重,如果左半邊的影響力較大,那代表只要成員 i 持有群體中其他至少另外一個人所持有的意見,那麼他的意見將根據給定的權重,越來越靠近群體平均意見,當除了成員 i 以外,群體中所有他人持有相同意見的話,這條等式就等價於 :

因此,我們就可以說明最終從眾行為的存在。

如果右半部分影響更大會有甚麼結果 ? 此時該式子僅代表群體中其他人對成員 i 的影響幅度,因此在這個情況下代表個人會受到規範秩序模糊的衝擊,衝擊的幅度等於所有群體所持不同意見與該成員意見差異的總和,此時產生的結果比起從眾行為帶來的均衡,更接近社會衝突。

至此,F-J 模型透過數學問題的架構,先是表達了群體的最終意見會達成一種穩定狀態,且提出了一種分析方式以研究該狀態究竟會產生從眾行為抑或社會衝突。

當然這樣的分析方式也不僅是應用在社會學上,舉剛才的問卷調查來說好了,通過兩期的調查問卷收集(我們這邊先撇開問卷收集的效度、時間性與樣本量等問題,先假定這些收集到數據的質量已經夠好了),那我們就可以得出最終均衡所需要的各項參數。將這些參數進一步拆解以後,我們就可以將問題分解成上面的左右兩部分,並且去研究到底哪部分佔了主導效應,進而得出目前而言,產品是否有從眾效應的存在。

結語

這並非一篇很困難的文章,因此內容也不多,但作為後續社會網絡分析的開山之作,有著許多經典的思維。而下一次要介紹的是另外一篇經典文章 OPINION DYNAMICS AND BOUNDED CONFIDENCE MODELS, ANALYSIS, AND SIMULATION (2002),可以認為是對 F-J 的一種擴充,讓其能夠應用在更多情境中。

整體而言,社會網絡分析所應用到的數學並不困難,在數學建模的步驟完成之後所需要的求解方法在現代來看也都不是太大問題,重點還是在於整個由社會學假設出發到實際數學建模的思路,以及將公式進一步拆解後得出的業務意涵,我認為在研究的過程中還是十分令人興奮的!

--

--

Edward Tung
數學、人工智慧與蟒蛇

Columbia Student || 2 yrs of data scientist and 1 yr of business consultant experience