UCINET入門教學 與 學習分析之應用
當老師開了線上學習的課程
或是在教學中利用線上討論區
安排了一些線上互動的Task要促使學生透過互動中學習
比方說請學生貼文與回應文章
那勢必就會有許多留言與回文
那有這些留言的資料
老師在打分數之餘
要怎麼透過這些互動的結果來協助老師瞭解學生之間的學習與互動情況呢?
當然
最簡單的就是直接看誰回文比較多
其次就是看哪些文章是大家討論最熱烈的
不過這些數字
往往還是沒辦法很容易的靠老師的肉身來簡單判讀出更多資訊
所以這篇就介紹如何用 UCINET 與 NetDraw
把這些互動的資料來視覺化、以及抓出一些肉眼無法容易看出的資料
這篇先用比較簡單的例子來看看
某個班有12個學生
用代號S1~S12代表
他們的性別與上學期成績分群如下:
(當然這兩個屬性是舉例,視情況與資料來源會有不同的特性,例如居住地、入學成績之類的,可以自己決定要採用什麼資料)
學生 | 性別 | 上學期成績 |
S1 | M | 高 |
S2 | M | 高 |
S3 | F | 高 |
S4 | F | 中 |
S5 | F | 中 |
S6 | M | 中 |
S7 | F | 中 |
S8 | F | 低 |
S9 | M | 中 |
S10 | M | 低 |
S11 | M | 高 |
S12 | F | 中 |
下表則是在討論區中針對「回應別人文章」的情況
左邊是回應的學生、右邊是被回應的
回應者 | 被回應者 |
S1 | S2 |
S1 | S4 |
S1 | S5 |
S1 | S9 |
S1 | S11 |
S1 | S12 |
S1 | S12 |
S1 | S12 |
S2 | S3 |
S2 | S4 |
S2 | S1 |
S2 | S6 |
S2 | S6 |
S2 | S8 |
S2 | S9 |
S2 | S12 |
S3 | S4 |
S3 | S1 |
S3 | S5 |
S3 | S7 |
S3 | S7 |
S3 | S9 |
S4 | S5 |
S4 | S7 |
S4 | S7 |
S4 | S7 |
S5 | S3 |
S5 | S12 |
S6 | S2 |
S6 | S3 |
S7 | S3 |
S7 | S9 |
S9 | S3 |
S9 | S1 |
S9 | S3 |
S9 | S3 |
S10 | S10 |
S11 | S1 |
S11 | S4 |
S11 | S8 |
S11 | S9 |
S12 | S1 |
S12 | S3 |
S12 | S5 |
S12 | S5 |
S12 | S6 |
有這樣的資料
首先我們要把它整理成 UCINET 可以判讀的資料
雖說有很多種不同方法
不過我自己是偏好直接用 Excel 或是用 Notepad 來輸入原始資料
先開一個新的 txt 檔
直接把上面的互動資料照貼
中間分隔的部份則要改成用 Tab 來分隔
輸入好那些回應文章的關係之後
在上面再輸入 UCINET 需要的格式
(目前使用的格式叫做edgelist 1)
打完字之後存檔
打開 UCINET
選取 Data → Import text file → DL...
跳出對話框後
點選旁邊的點點點鈕
讀取剛剛我們辛苦Key完的 txt 檔案
(下方Output dataset可以選擇輸出位置,預設可能不一定在同個資料夾,所以要確認一下)
按OK之後
它就會自動幫忙把這些關係換算成矩陣
並且跳出一個 txt 的畫面
這個可以直接關掉
因為它已經幫我們生成了兩個檔案 .##h 與 .##d
※這邊要稍微補充一下
看看上面的矩陣
其實這是有方向性的 (也就是說比方S12有回應S1,但是S1不一定回應S12)
所以這矩陣並不是對稱矩陣
在目前我們要分析的情況「誰回應誰」是ok的
不過若是其他的題目
比方「誰跟誰是朋友」、「誰跟誰同組過」
這種就是沒有方向性的
就必須要再經過「Symmetrize」(對稱化)的處理
可以利用UCINET的功能 Transform → Symmetrize...
接著就準備畫圖囉!
先打開 NetDraw
點選 File → Open → Ucinet DL text file → Network (1-mode)
跳出對話框後
點選旁邊點點點鈕
讀取剛剛 UCINET 幫我們跑出來的 .##h檔
網路圖就自動生出來了!
可以直接看出S1、S3兩個線特別密集
而S10整個孤單一人
不過我們當然還是想知道更多資訊
比方說這些學生的性別、上學期成績
顯示在圖上面
以知道更多資訊
一樣也是用 txt 來存資料
第一行輸入 *node data
第二行則是變數名稱
要記得第一個變數要放的就是學生代號
然後性別和成績就以自己看得懂的方式輸入即可
比方這邊我把成績改成 1:高 2:中 3:低
以避免中文編碼的問題
接著就匯入剛剛輸入完的屬性變數:
若是成功匯入
會出現這個訊息
(雖然用驚歎號感覺像是出錯,不過請放心有出現這個訊息代表是成功的)
接著就可以來修改每個學生的 node (也就是圖中每個「節點」) 的顏色或形狀
可以用上方的功能選單 (Symbols是節點的形狀、Lables是旁邊的代號如S1、Rims是節點的邊框)
或是直接按那兩個圖示
※這邊再補充個社會網路分析常用的行話:
通常在網路中的參與者(actors)就會稱為網路中的 node
而他們之間的關係(relations)構成圖中的連線 lines
點選後會跳出這個對話框
現在先改顏色看看
先點開下拉選單
可以看到我們剛剛打的屬性變數 gender 與 grade
先用 grade 示範看看
可以點選左邊的顏色塊來選擇自己要的顏色
比方這邊我設定的是:
成績高的就設綠色
成績中等的標黃色
成績較差的標紅色
跑出來了!
所以可以大概猜測
比較少互動的好像之前成績就比較不好了
然後再改一下形狀
一樣可以點選功能表或是直接點圖示
這次就用性別
女生用三角形
男生用四方形
這樣就可以更容易看出男生女生了!
除此之外
也能夠透過它們之間連線的粗細來知道哪些互動是比較多次的
點選 Properties → Lines → Size → Tie Strength
跳出對話框之後
選擇這整個Edgelist
並可設定最粗的線有多寬
因為可以即時跑出來預覽
所以可以試幾次看怎樣的寬度比較好看
出現不同粗細的線
呈現的資訊就更多了一些
像這邊我們可以知道S1雖然有很多人回應(很多箭頭指到他)
不過他比較多都是在回應S12的文
而S9同樣也有接受其他四人的回應
不過他主要仍然回應S3的文
當然在這張圖中老師也應該要注意的就是S10
沒有跟其他人互動,是什麼原因呢?
S8的互動也較少,是不是也要鼓勵她呢?
除了上面的呈現方式之外
也可以用分群組的方式
點選 Layout → Group by Attribute → Categorical Attribute
用 grade 來示範看看
跑出來就會是這樣
把上學期成績高中低分別用三個組呈現
可以發現成績中與成績低的學生完全沒有互相回應!
而成績好的裡面S11似乎也比較會去回應他人
現在我們想要知道說
這些學生裡面
有哪些在整個網路中的居中性(Centrality)比較高
通常在整個資訊流中
瞭解誰產生資訊、誰能夠轉介資訊、誰接收資訊
都是可以探討的點
也決定要用哪種Centrality來計算
先回到 UCINET 中
點選 Network → Centrality
有很多可以選
常用的有Degree、Betweenness
一樣選擇之前跑出來的 .##h 檔案
以Betweenness為例
產生出來的 output 檔案
會提供未正規化(Betweenness)以及正規化(nBetweenness)的數值
我們再度打開之前輸入的 Attributes.txt 檔
再新增一個屬性變數 betweenness
並且依照 output 的結果輸入
※要注意順序不同
之後會到 NetDraw
一樣重新再匯入一次 Attributes
然後選擇 Properties → Nodes → Symbols → Size → Attribute-based
選擇屬性變數 betweenness
並依照自己需要修改節點的size最大最小值
好了之後
就可以看出這些節點中誰的 Betweenness 是比較大的
當然如果不想用分組的方式看
而想要回復到之前那種整體的網路
可以點選上方的閃電圖示
就會重新再運算一次
(不過因為是重新運算所以並不一定會跟最原本的長得一樣)
由圖中可以知道
S1、S3在整個網路中的 Betweenness centrality 特別高
也就代表他們愛整個網路中是處於較中心的地位
或許老師可以想辦法請他們多協助班上同學
像以上的作法也不限於線上討論區的互動
其實像是公司與公司的合作關係、授權、技術移轉等等
也可以利用這種分析方式
比方我們現在假設S1~S12不是學生而是公司
然後那些互動的關係是技轉
那整個網路圖就變成是技術或知識的流通
而屬性則可以自己選擇用「是否在園區」、「資本額大小」等等
至於缺點的話
也還是有幾個缺點:
1. 用這種EdgeList的方式,無法根據節點之間的關係類型來修改線條顏色
比方S12回應S1是回應關於數學科問題、而S9回應S3則是自然科
沒辦法用NetDraw很直覺地幫我們判斷與繪出
2.主要只有顏色和形狀兩種辨別模式
(雖然代號與邊框也可以改但就不是那麼直覺;大小的話則是用在centrality比較適合,但也只能用在一種)
如果有超過兩個 arrtibutes
那就只能想辦法把多個湊成一個 (例如目前性別與成績兩組也可合併成 男高、男中、男低、女高、女中、女低 )
以容許其他多的 atributes
或者就乾脆一次只跑兩種屬性囉
3.在NetDraw並沒有回復功能(Undo、回上一步動作)
所以一不小心按錯的話就回不去了
可能要重設
所以如果怕不小心弄錯
可以在中間的步驟就各存一個檔(建議儲存為VNA檔才會把圖中的設定也存入)
◎下面也分享一下之前針對「生技產業上市櫃公司研發合作夥伴」的網路圖:
步驟其實也差不多
其實最大問題在於怎麼取得這些資料
其實社會網路分析最重要的也在於要怎麼取得資料、要用哪些資料、怎麼有意義解讀
這些議題在之後再詳細寫一些例子來說明囉!