序列分析工作坊問答記錄 / Sequential Analysis’s Q&A
我之前寫過一篇「行為編碼與序列分析演講和PHP版本序列分析工具」,裡面介紹了序列分析的基本概念。不過很多細節並沒有在投影片上直接描述。以下我就根據讀者的提問來一一回答。
Q1. 樣本是指什麼?
序列分析中的樣本,是指觀察樣本個數?或是(錄影)觀察紀錄的多寡?
序列分析是以「事件」為單位作為記錄,而事件最後會轉換成編碼,我們看編碼與編碼之間的序列轉換頻率。在這邊提到的「樣本」是指「事件」或「編碼」,並非真的「人」。因此序列分析的「樣本數量」跟幾位學生、錄影錄多久沒有直接關係,純粹是看「事件」或是轉換成「編碼」之後的數量。當然,學生人數越多,可能發生的事件就越多,那編碼數量也會越多;同樣地,觀察時間越長,可能發生的事件也越多,編碼數量也會跟著增加。但我們還是需要釐清序列分析對「樣本」的定義。
在上圖「如何寫論文」的例子中,作者條紋衣女子畫出了值得觀察的6個事件,因此儘管本例中只有一個人,但是序列分析的編碼樣本數量就會有6個。
Q2. 序列分析的樣本要多大呢?
承Q1所說,序列分析是以「事件」為單位作為記錄,而事件最後會轉換成編碼,我們看編碼與編碼之間的序列轉換頻率。在這邊提到的「樣本」是指「事件」或「編碼」,並非真的「人」。因此序列分析的「樣本數量」跟幾位學生、錄影錄多久沒有直接關係,純粹是看「事件」或是轉換成「編碼」之後的數量。當然,學生人數越多,可能發生的事件就越多,那編碼數量也會越多;同樣地,觀察時間越長,可能發生的事件也越多,編碼數量也會跟著增加。但我們還是需要釐清序列分析對「樣本」的定義。
那麼進行序列分析的時候,樣本要多大,才會比較適合分析呢?Bakemna & Gottman (1986)的「Observing interaction: an introduction to sequential analysis」書中「7.4 How many data points are enough?」有談到這點。
編碼數量會受到三個因素影響:
- 鄰近編碼是否可以相同?可以相同則要更多樣本。
- 欲觀察的編碼的數量越多,則需要更多樣本
- 要觀察的序列長度越長,則要更多樣本。
書中有提到一些計算的公式,請看我重新上傳的投影片:20101212 事件序列分析:需要多少觀察樣本?.pptx
以下從投影片中截圖展示:
上圖是鄰近編碼可重複的計算方式。
然後上圖是鄰近編碼不可重複的計算方式。兩者的差異是參數m的計算方式有所不同。
但這公式只是算一個比較可能會顯著的建議樣本數出來,實際上僅供參考用。我目前看的研究大部分都無法達到這個公式所建議的樣本數,但大家仍然繼續去算z分數,然後解釋結果。因此,雖然我在「序列分析簡介」當中有介紹樣本數量問題,後來的「行為編碼與序列分析演講和PHP版本序列分析工具」就沒有講公式了。
時間序列分析對樣本數量的要求呢?
時間序列分析(time-series analysis)是另外一個領域的研究問題,跟本篇主要講的序列分析(lag sequential analysis)沒有關係。
時間序列分析的做法很多,每一種做法對樣本的要求都不一樣。以最常用的ARIMA來說,在建立模型之前必須要先計算自身相關ACF跟偏自身相關PACF,然後用EACF計算出ESACF來鑑定模式。如果模式鑑定不佳,則需要蒐集更多的樣本或調整蒐集樣本的方式。這套方法有點複雜,請見「時間數列分析與預測: 管理與財經之應用」一書,書目如下:
林茂文(2006)。時間數列分析與預測: 管理與財經之應用。臺北市:華泰文化。(ISBN:978-957-609-651-8)
Q3. 行為記錄與編碼表格的例子是否按照時間順序編碼?
上圖是「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之間,這時候編碼的方式就有幾種做法:
- 嚴格按照時間排序:ABDECF (注意裡面沒有空格)
- 保持討論串的情境:ABC DEF (注意不同討論串之間有空格,表示這是不同片段)
做法1的做法強調的是學習者個人的改變,但是忽略了各別討論串的情境。做法2的做法著重的是整體學習社群的改變,但是忽視學習者個體的變化。到底那種做法比較好呢,就看研究目的來訂吧。
我個人常用的是做法2。因為大多時候我們是看學習者社群整體,像是實驗組/控制組整組,而我們研究的重點不在於這個社群中的個體差異,因此做法1就跟我們所需不合。
不同學習者的問題
另一個問題跟上面非同步討論區很類似。書中有講到結合不同片段來增加樣本數量的做法。在各別學習者獨自動作、彼此沒有互動時,我們可以簡單地直接結合兩個片段。但如果是在一個合作學習的情境中,學習者之間會互相互動的話,那麼要怎麼處理好呢?
舉例來說,現在有兩個學習者,甲跟乙。他們的行為記錄跟時間如下,#為行為時間編號:
- [15:14] 甲 #A
- [15:15] 甲 #B
- [15:16] 乙 #C
- [15:20] 甲 #D
- [15:21] 乙 #E
這樣子又會有兩種編碼方式:
- 以學習者個人來編碼:ABD CE (注意中間的空格,表示這是2個片段)
- 以整體學習者社群來編碼:ABCDE
同樣地,做法1著重的是學習者個人,但忽視了學習者之間互動的情境。做法2強調的則是整體學習者社群的改變,不過略過學習者個體差異。
在這種情境下,我也是比較常用做法2分析。理由與前面非同步討論區相同。
Q4. 我的觀察樣本很複雜,請問如何編碼?
每個人遇到的樣本都很差異很大,讓我們分開討論。
分組問題
問題是這樣的:如果老師上課分成6組,讓學生互相討論,這樣要如何編碼?是只分成老師和學生編碼,還是要把學生一一編碼?
這個問題其實有兩個面向:記錄事件跟編碼片段的結合。我想這問題前半部是要問前者,後半部是在問後者。
現實討論的事件記錄做法就是單純地將該每一位學生、每一次發言時的時間、學生、發言內容記錄下來。就跟一般的逐字稿做法類似,這個資料蒐集的做法上比較沒有爭議。至於什麼礙於時間人力想要少記一些資料什麼的,我們暫且先不考慮這個問題。
後者是編碼片段結合的問題。主要回答的思維還是跟Q3遇到的情況相同。這種類型的研究通常是將該6組中的每一位學生視為同一種類型的樣本,應該忽視學生個體差異,單純組成同一個片段。因此最後得到的結果會是6個組別、6個片段,然後合在一起變成一個很長的觀察序列樣本。
有人會問說,如果是這樣的話,一開始在記錄事件時就不要記錄學生身份就好啦,全部匿名化不是比較省功?這個嘛,也許未來分析時會只想挑出部分學生來做分析,這也說不定,不是嗎?還是為未來留點後路比較好啦。
同時間不同動作的問題
問題是這樣的:需要針對個人或是一段時間不同人一起編碼嗎?例如:同一時間,不同學生在同時間做不同的事該如何編碼? 例如:A、B在討論,C在吃東西,該如何編碼? 如無法分出個人行為該如何處理?(你如同一時段AB在談話、C在吃東西,該如何編碼)
這個問題其實是在另一篇「行為分析之時間序列分析」中有討論,這是Bakeman & Gottman (1997)書中的內容。讓我們看看以下A學生的例子:
在時間記錄中我們可以看到A有looks跟talks兩種動作,而兩種動作都可能在同一時間發生。舉例來說在第3秒的時候,A就同時做了looks跟talkes,這樣子該如何編碼呢?
這時候我們就要設定一個固定間隔時間(interval),例如1秒。然後各別編碼A的所有動作。在Bakeman & Gottman (1997)的書中固定間隔時間以「桶」(bin)來比擬。看的時間有6秒,那麼就有6個桶。再來將代表不同時間的桶中塞入A做的動作。因此就可以得到上面圖中的樣子。
再來就可以計算各編碼之間的轉換頻率,可以得到上表的內容。然後就能夠用單純的序列編碼來做計算了。
上面的例子中只有看一個學生A,如果有學生B跟學生C的時候怎麼辦呢?這時候處理思維依然跟Q3一樣,如果我們把這群學生視為同一類型的研究對象,那麼就忽視學生A、學生B或學生C之間的差異,直接當做是同一類型的人來編碼吧。
Q5. 若觀察期很長,是否需要切成一天一天分開編碼?
序列分析只是看事件跟事件之間的轉換順序,跟日期沒有直接關係。昨天發生的事件是一個事件、今天發生的是另一個事件,最後分析時只是將事件排序再來分析而已。這時候分析時並不考慮時間。
但是Bakeman也講過,有時候序列分析會需要「從微觀到宏觀」(9.3 Micro to macro)。如果是以一個細微的事件作為分析單位,在蒐集長期的觀察樣本之後,可能會看不出較為宏觀的模式。這時候Bakeman的說法是製作宏觀的編碼系統(macro coding system),將不同但類似的事件視為同一種編碼,或是以更長的時間為單位來編碼,例如不以「秒」而是以「天」來單位重新編碼。而後者就比較接近這個問題想要問的內容。
當然,以「秒」來編碼跟以「天」來編碼的編碼系統可能不太一樣,就像我們描述「微觀事件」跟「宏觀事件」的方式也不盡相同。所以就要製作如Bakeman所述的宏觀編碼系統吧。
Q6. 片段結合時一定得是相同時間嗎?片段結合後的z分數如何計算?
上圖是「20160905 序列分析工作坊」的第74頁。上述兩組片段不必是相同時間,各自記錄即可。若要將片段結合,理論上就是你將這兩位視為同一種類型的學習者,將他們的行為樣本合併,以此來做分析。就這樣而已。
如何結合片段?
至於片段結合之後如何分析呢?以上圖為例,這邊有兩個片段,各別是「ABBCBBCAA」跟「ABCCBBCAB」。在我的程式中,片段結合只要在中間加上空白或換行即可,結合後的觀察樣本就會變成「ABBCBBCAA ABCCBBCAB」。
如何計算結合後的片段?
接著請來到「Lag Sequential Analysis Tool」,按照上圖的指示,將觀察樣本「ABBCBBCAA ABCCBBCAB」輸入到框框中,打勾「Adjacent codes can be same.」表示鄰近編碼可重複,然後按下SUBMIT按鈕。
下面「調整後殘差表」就是z分數的計算結果了。
Q7. 工具裡面的Adjacent codes can be same是什麼意思?
「Lag Sequential Analysis Tool」中的「Adjacent codes can be same」意思是「鄰近編碼可重複」。如果不打勾則是「鄰近編碼不可重複」。
上圖是「20160905 序列分析工作坊」的第69頁,介紹鄰近編碼可否重複對與出現機率計算方式的差異。在鄰近編碼可重複的情況下,我們預期序列轉換頻率的機率較低。在鄰近編碼不可重複的情況下,我們預期序列轉換頻率的機率較高。
什麼時候要用鄰近編碼可重複來分析,什麼時候要用鄰近編碼不可重複來分析呢?端看研究目的而定,沒有標準答案。大多數情況下,我們研究時會選擇「鄰近編碼不可重複」,這表示研究想看的是不同編碼轉換的發生次數。但相反地,如果相同編碼接連出現的序列有理論上的意義,那麼就應該用「鄰近編碼可重複」來計算z分數。
不過,我知道很多人都不確定自己到底要用哪一種方式,甚至連相同編碼接連出現的序列有沒有意義都不確定。那麼我會這樣建議:兩種都分析看看,然後挑一種你比較容易用來解釋研究結果的方式來解釋吧。
Q8. 雙事件序列分析能不能改成三事件序列分析?
上圖是「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)的方式如下:
雖然書中沒有直接寫,但如果鄰近編碼可重複的話,p(ABC)的計算方式如下:
這樣就可以了。
不過話雖然這樣說,我寫的「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:
該論文中將Table 3的序列分析結果繪製成上面的行為轉換圖Figure 2,根據編碼轉換之間的連線,從可發現學生的行為模式可以區分成4組。為了清楚說明,我重新以顏色標示Figure 2:
這時候就可以清楚發現到,同樣顏色的編碼之間都有連線,而不同顏色的編碼則沒有連線。就這樣子分成了四組。根據論文的說法,這四組為:
- 紅色的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這樣的模式。如果你想從這個分析方式來解釋更長序列的話,很遺憾,這可能找錯方向了。
以上就是侯老師這篇論文中將序列分析結果進行分組的做法囉。希望我沒解釋錯啊,真的講錯了請老師不吝指正吧。
想請問布丁,Z分數是否不管>=1.96 或是 <=-1.96都要加註 "*" 呢?另外,不太確定-1.96要怎麼解釋QQ
回覆刪除您好,
刪除Z分數為區間估計的範疇。
關於區間估計,統計課應該都會教。
http://www3.nccu.edu.tw/~soci1005/CH5.pdf
1. Z分數是否不管>=1.96 或是 <=-1.96都要加註 "*" 呢?
是的
2. 不太確定-1.96要怎麼解釋
轉換頻率平均數可能出現的區間遠低於母體平均值。