:::

序列分析工作坊問答記錄 / Sequential Analysis’s Q&A

image

我之前寫過一篇「行為編碼與序列分析演講和PHP版本序列分析工具」,裡面介紹了序列分析的基本概念。不過很多細節並沒有在投影片上直接描述。以下我就根據讀者的提問來一一回答。


Q1. 樣本是指什麼?

image

序列分析中的樣本,是指觀察樣本個數?或是(錄影)觀察紀錄的多寡?

序列分析是以「事件」為單位作為記錄,而事件最後會轉換成編碼,我們看編碼與編碼之間的序列轉換頻率。在這邊提到的「樣本」是指「事件」或「編碼」,並非真的「人」。因此序列分析的「樣本數量」跟幾位學生、錄影錄多久沒有直接關係,純粹是看「事件」或是轉換成「編碼」之後的數量。當然,學生人數越多,可能發生的事件就越多,那編碼數量也會越多;同樣地,觀察時間越長,可能發生的事件也越多,編碼數量也會跟著增加。但我們還是需要釐清序列分析對「樣本」的定義。

在上圖「如何寫論文」的例子中,作者條紋衣女子畫出了值得觀察的6個事件,因此儘管本例中只有一個人,但是序列分析的編碼樣本數量就會有6個。


Q2. 序列分析的樣本要多大呢?

承Q1所說,序列分析是以「事件」為單位作為記錄,而事件最後會轉換成編碼,我們看編碼與編碼之間的序列轉換頻率。在這邊提到的「樣本」是指「事件」或「編碼」,並非真的「人」。因此序列分析的「樣本數量」跟幾位學生、錄影錄多久沒有直接關係,純粹是看「事件」或是轉換成「編碼」之後的數量。當然,學生人數越多,可能發生的事件就越多,那編碼數量也會越多;同樣地,觀察時間越長,可能發生的事件也越多,編碼數量也會跟著增加。但我們還是需要釐清序列分析對「樣本」的定義。

那麼進行序列分析的時候,樣本要多大,才會比較適合分析呢?Bakemna & Gottman (1986)的「Observing interaction: an introduction to sequential analysis」書中「7.4 How many data points are enough?」有談到這點。

編碼數量會受到三個因素影響:

  1. 鄰近編碼是否可以相同?可以相同則要更多樣本。
  2. 欲觀察的編碼的數量越多,則需要更多樣本
  3. 要觀察的序列長度越長,則要更多樣本。

書中有提到一些計算的公式,請看我重新上傳的投影片:20101212 事件序列分析:需要多少觀察樣本?.pptx

以下從投影片中截圖展示:

image

上圖是鄰近編碼可重複的計算方式。

image

然後上圖是鄰近編碼不可重複的計算方式。兩者的差異是參數m的計算方式有所不同。

但這公式只是算一個比較可能會顯著的建議樣本數出來,實際上僅供參考用。我目前看的研究大部分都無法達到這個公式所建議的樣本數,但大家仍然繼續去算z分數,然後解釋結果。因此,雖然我在「序列分析簡介」當中有介紹樣本數量問題,後來的「行為編碼與序列分析演講和PHP版本序列分析工具」就沒有講公式了。

時間序列分析對樣本數量的要求呢?

時間序列分析(time-series analysis)是另外一個領域的研究問題,跟本篇主要講的序列分析(lag sequential analysis)沒有關係。

時間序列分析的做法很多,每一種做法對樣本的要求都不一樣。以最常用的ARIMA來說,在建立模型之前必須要先計算自身相關ACF跟偏自身相關PACF,然後用EACF計算出ESACF來鑑定模式。如果模式鑑定不佳,則需要蒐集更多的樣本或調整蒐集樣本的方式。這套方法有點複雜,請見「時間數列分析與預測: 管理與財經之應用」一書,書目如下:

林茂文(2006)。時間數列分析與預測: 管理與財經之應用。臺北市:華泰文化。(ISBN:978-957-609-651-8)


Q3. 行為記錄與編碼表格的例子是否按照時間順序編碼?

clip_image002

上圖是「20160905 序列分析工作坊」的第28頁。因為這個例子是線上聊天室的內容,編碼時的確是依照時間排列下來沒錯。

但是除了這個單純的例子之外,實際上面對不同情境,可能會有很多問題需要考慮。

非同步討論區的問題

聊天室的內容有明顯的線性順序,比較沒有問題。但是對非線性、非同步的討論區來說,如何編碼就有很多爭議。舉例來說,一個討論區裡面可能有兩個主題,而兩個主題底下各有不同的回覆討論。時間與順序如下,方括號內為時間,#為ID:

  • [12:04] 主題1  #A
    • [12:08] 回覆1-1 #B
    • [12:20] 回覆1-2 #C
  • [12:10] 主題2 #D
    • [12:12] 回覆2-1 #E
    • [12:32] 回覆2-2 #F

請注意到主題2的時間介於回覆1-1跟回覆1-2之間,這時候編碼的方式就有幾種做法:

  1. 嚴格按照時間排序:ABDECF (注意裡面沒有空格)
  2. 保持討論串的情境:ABC DEF (注意不同討論串之間有空格,表示這是不同片段)

做法1的做法強調的是學習者個人的改變,但是忽略了各別討論串的情境。做法2的做法著重的是整體學習社群的改變,但是忽視學習者個體的變化。到底那種做法比較好呢,就看研究目的來訂吧。

我個人常用的是做法2。因為大多時候我們是看學習者社群整體,像是實驗組/控制組整組,而我們研究的重點不在於這個社群中的個體差異,因此做法1就跟我們所需不合。

不同學習者的問題

image

另一個問題跟上面非同步討論區很類似。書中有講到結合不同片段來增加樣本數量的做法。在各別學習者獨自動作、彼此沒有互動時,我們可以簡單地直接結合兩個片段。但如果是在一個合作學習的情境中,學習者之間會互相互動的話,那麼要怎麼處理好呢?

舉例來說,現在有兩個學習者,甲跟乙。他們的行為記錄跟時間如下,#為行為時間編號:

  • [15:14] 甲 #A
  • [15:15] 甲 #B
  • [15:16] 乙 #C
  • [15:20] 甲 #D
  • [15:21] 乙 #E

這樣子又會有兩種編碼方式:

  1. 以學習者個人來編碼:ABD CE (注意中間的空格,表示這是2個片段)
  2. 以整體學習者社群來編碼:ABCDE

同樣地,做法1著重的是學習者個人,但忽視了學習者之間互動的情境。做法2強調的則是整體學習者社群的改變,不過略過學習者個體差異。

在這種情境下,我也是比較常用做法2分析。理由與前面非同步討論區相同。


Q4. 我的觀察樣本很複雜,請問如何編碼?

每個人遇到的樣本都很差異很大,讓我們分開討論。

分組問題

問題是這樣的:如果老師上課分成6組,讓學生互相討論,這樣要如何編碼?是只分成老師和學生編碼,還是要把學生一一編碼?

這個問題其實有兩個面向:記錄事件跟編碼片段的結合。我想這問題前半部是要問前者,後半部是在問後者。

現實討論的事件記錄做法就是單純地將該每一位學生、每一次發言時的時間、學生、發言內容記錄下來。就跟一般的逐字稿做法類似,這個資料蒐集的做法上比較沒有爭議。至於什麼礙於時間人力想要少記一些資料什麼的,我們暫且先不考慮這個問題。

後者是編碼片段結合的問題。主要回答的思維還是跟Q3遇到的情況相同。這種類型的研究通常是將該6組中的每一位學生視為同一種類型的樣本,應該忽視學生個體差異,單純組成同一個片段。因此最後得到的結果會是6個組別、6個片段,然後合在一起變成一個很長的觀察序列樣本。

有人會問說,如果是這樣的話,一開始在記錄事件時就不要記錄學生身份就好啦,全部匿名化不是比較省功?這個嘛,也許未來分析時會只想挑出部分學生來做分析,這也說不定,不是嗎?還是為未來留點後路比較好啦。

同時間不同動作的問題

問題是這樣的:需要針對個人或是一段時間不同人一起編碼嗎?例如:同一時間,不同學生在同時間做不同的事該如何編碼? 例如:A、B在討論,C在吃東西,該如何編碼? 如無法分出個人行為該如何處理?(你如同一時段AB在談話、C在吃東西,該如何編碼)

這個問題其實是在另一篇「行為分析之時間序列分析」中有討論,這是Bakeman & Gottman (1997)書中的內容。讓我們看看以下A學生的例子:

image

在時間記錄中我們可以看到A有looks跟talks兩種動作,而兩種動作都可能在同一時間發生。舉例來說在第3秒的時候,A就同時做了looks跟talkes,這樣子該如何編碼呢?

image

這時候我們就要設定一個固定間隔時間(interval),例如1秒。然後各別編碼A的所有動作。在Bakeman & Gottman (1997)的書中固定間隔時間以「桶」(bin)來比擬。看的時間有6秒,那麼就有6個桶。再來將代表不同時間的桶中塞入A做的動作。因此就可以得到上面圖中的樣子。

image

再來就可以計算各編碼之間的轉換頻率,可以得到上表的內容。然後就能夠用單純的序列編碼來做計算了。

上面的例子中只有看一個學生A,如果有學生B跟學生C的時候怎麼辦呢?這時候處理思維依然跟Q3一樣,如果我們把這群學生視為同一類型的研究對象,那麼就忽視學生A、學生B或學生C之間的差異,直接當做是同一類型的人來編碼吧。


Q5. 若觀察期很長,是否需要切成一天一天分開編碼?

序列分析只是看事件跟事件之間的轉換順序,跟日期沒有直接關係。昨天發生的事件是一個事件、今天發生的是另一個事件,最後分析時只是將事件排序再來分析而已。這時候分析時並不考慮時間。

但是Bakeman也講過,有時候序列分析會需要「從微觀到宏觀」(9.3 Micro to macro)。如果是以一個細微的事件作為分析單位,在蒐集長期的觀察樣本之後,可能會看不出較為宏觀的模式。這時候Bakeman的說法是製作宏觀的編碼系統(macro coding system),將不同但類似的事件視為同一種編碼,或是以更長的時間為單位來編碼,例如不以「秒」而是以「天」來單位重新編碼。而後者就比較接近這個問題想要問的內容。

當然,以「秒」來編碼跟以「天」來編碼的編碼系統可能不太一樣,就像我們描述「微觀事件」跟「宏觀事件」的方式也不盡相同。所以就要製作如Bakeman所述的宏觀編碼系統吧。


Q6. 片段結合時一定得是相同時間嗎?片段結合後的z分數如何計算?

clip_image004

上圖是「20160905 序列分析工作坊」的第74頁。上述兩組片段不必是相同時間,各自記錄即可。若要將片段結合,理論上就是你將這兩位視為同一種類型的學習者,將他們的行為樣本合併,以此來做分析。就這樣而已。

如何結合片段?

至於片段結合之後如何分析呢?以上圖為例,這邊有兩個片段,各別是「ABBCBBCAA」跟「ABCCBBCAB」。在我的程式中,片段結合只要在中間加上空白或換行即可,結合後的觀察樣本就會變成「ABBCBBCAA ABCCBBCAB」。

如何計算結合後的片段?

image

接著請來到「Lag Sequential Analysis Tool」,按照上圖的指示,將觀察樣本「ABBCBBCAA ABCCBBCAB」輸入到框框中,打勾「Adjacent codes can be same.」表示鄰近編碼可重複,然後按下SUBMIT按鈕。

image

下面「調整後殘差表」就是z分數的計算結果了。


Q7. 工具裡面的Adjacent codes can be same是什麼意思?

image

Lag Sequential Analysis Tool」中的「Adjacent codes can be same」意思是「鄰近編碼可重複」。如果不打勾則是「鄰近編碼不可重複」。

image

上圖是「20160905 序列分析工作坊」的第69頁,介紹鄰近編碼可否重複對與出現機率計算方式的差異。在鄰近編碼可重複的情況下,我們預期序列轉換頻率的機率較低。在鄰近編碼不可重複的情況下,我們預期序列轉換頻率的機率較高。

什麼時候要用鄰近編碼可重複來分析,什麼時候要用鄰近編碼不可重複來分析呢?端看研究目的而定,沒有標準答案。大多數情況下,我們研究時會選擇「鄰近編碼不可重複」,這表示研究想看的是不同編碼轉換的發生次數。但相反地,如果相同編碼接連出現的序列有理論上的意義,那麼就應該用「鄰近編碼可重複」來計算z分數。

不過,我知道很多人都不確定自己到底要用哪一種方式,甚至連相同編碼接連出現的序列有沒有意義都不確定。那麼我會這樣建議:兩種都分析看看,然後挑一種你比較容易用來解釋研究結果的方式來解釋吧。


Q8. 雙事件序列分析能不能改成三事件序列分析?

image

上圖是「20160905 序列分析工作坊」的第42頁。本張投影片的意思是原本「ABBCBBCAAC」的觀察序列,在分析時是以雙事件序列分析的方式計算,也就是計算「AB BB BC CB BB BC CA AA AC」兩兩一組的頻率。這也是序列分析中的雙事件(two-event)的分析方式。

那能用雙事件了,能不能改用三事件的方式來分析呢?理論上是可行的。Bakemna & Gottman (1986)書中第142頁「3. Consideration of longer sequences requires more data」中有講到計算p(ABC)機率的做法,因此理論上可行。

書中是這樣說的。舉例來說,我們要分析ABC序列出現的機率,寫作p(ABC)。而A出現機率為0.10,寫作p(A)=.10;p(B)=.15;p(C)=.20。在鄰近編碼不可重複的情況下,計算p(ABC)的方式如下:

clip_image002[6]

clip_image004[6]

雖然書中沒有直接寫,但如果鄰近編碼可重複的話,p(ABC)的計算方式如下:

clip_image002[8]

clip_image004[8]

這樣就可以了。

不過話雖然這樣說,我寫的「Lag Sequential Analysis Tool」並沒有計算三事件以上的功能就是了,請手動計算吧。


Q9. 為何侯老師的論文將編碼拆成4個部分來分析呢?

這個問題是針對侯老師在2012年發表的論文「Exploring the behavioral patterns of learners in an educational massively multiple online role-playing game (MMORPG)」中分析方式的提問。該論文的書目如下:

Hou, H.-T. (2012). Exploring the behavioral patterns of learners in an educational massively multiple online role-playing game (MMORPG). Computers & Education, 58(4), 1225-1233. doi:10.1016/j.compedu.2011.11.015

該論文中提到可以將學生的行為模式分成四個部分:「TS-TL-LT」、「TK-GP」、「PT-OT-LF-FT」、「TR」,這是什麼意思呢?

讓我們先來看看這篇論文的行為轉換圖Figure 2:

Hou - 2012 - Exploring the behavioral patterns of learners in a

該論文中將Table 3的序列分析結果繪製成上面的行為轉換圖Figure 2,根據編碼轉換之間的連線,從可發現學生的行為模式可以區分成4組。為了清楚說明,我重新以顏色標示Figure 2:

image

這時候就可以清楚發現到,同樣顏色的編碼之間都有連線,而不同顏色的編碼則沒有連線。就這樣子分成了四組。根據論文的說法,這四組為:

  • 紅色的TS-TL-LT:進行任務(TS)、使用道具或工具(TL)、任務中學習(LT)
  • 紫色的TK-GP:團體合作討論(TK)與合作學習(GP)
  • 綠色的PT-OT-LF-FT:設定與使用虛擬寵物(PT)、戰鬥中學習(LF)、戰鬥(FT)或其他行為(OT)。
  • 橘色的TR:交易道具或工具

必須注意的是,因為這篇論文用的是雙事件序列分析,所以不能用三事件的方式來解釋。例如「TS-TL-LT」分組中有TS<->TL跟TL<->LT,但不能說是發生了TS->TL->LT這樣的模式。如果你想從這個分析方式來解釋更長序列的話,很遺憾,這可能找錯方向了。

以上就是侯老師這篇論文中將序列分析結果進行分組的做法囉。希望我沒解釋錯啊,真的講錯了請老師不吝指正吧。

總共2 則留言 ( 我要發問 , 隱藏留言 顯示留言 )

  1. 想請問布丁,Z分數是否不管>=1.96 或是 <=-1.96都要加註 "*" 呢?另外,不太確定-1.96要怎麼解釋QQ

    回覆刪除
    回覆
    1. 您好,

      Z分數為區間估計的範疇。
      關於區間估計,統計課應該都會教。
      http://www3.nccu.edu.tw/~soci1005/CH5.pdf

      1. Z分數是否不管>=1.96 或是 <=-1.96都要加註 "*" 呢?

      是的

      2. 不太確定-1.96要怎麼解釋

      轉換頻率平均數可能出現的區間遠低於母體平均值。

      刪除