鄧天平, 張 林
(華中科技大學 電子信息與通信學院,湖北 武漢 430074)
MOOC具有大規模、開放性、網絡化和自主性學習等特征[1],因此學習者能夠不受時間、空間等條件的約束,獲取自己所需的知識資源,對于學生接受的常規課堂教學是極為有益的補充。將在線課程資源納入到教學方案之中,既可以鼓勵學生利用這部分資源進行知識補充與自我提高,同時能夠讓教師更為便捷地獲得學生學習情況的反饋,因為MOOC平臺不僅能夠提供與課程相關的教學資源,還能作為教師布置作業、進行考核、查閱記錄的網絡工具。因此,MOOC被引入到高校教學之中,對教、學雙方而言都有所幫助。然而,從教師的角度出發,盡管MOOC提供了大量的、豐富的與學生的學習情況相關的數據,但是這些數據并沒有得到充分利用。通常,教師們僅僅把這些記錄作為學生線上學習表現的統計,并在之后作為學生平時成績的一部分納入到學生的綜合評價之中,或者只是簡單的按照常規的統計方法對學生的線上作業、考核等直觀指標進行分析,并據此解答學生出錯頻率較高的問題[2]。
本文主要目的是抓取和分析基于“模擬電子技術基礎”的慕課堂數據,詳細地介紹了對兩個班級學生數據進行分析研究的過程,通過研究數據的聚類分析與相關性分析的結果,得到了一些有價值的結論,為教師教學持續改進提供依據。
研究過程以數據分析為核心進行延展,包涵著數據獲取、數據清洗、聚類分析、相關性分析、預測模型等環節,具體過程如圖1所示。

圖1 研究過程
課題使用的數據來源于華中科技大學電子信息與通信學院2018級卓越工程師班(以下簡稱“卓越班”)、數理提高班(以下簡稱“提高班”) “模擬電子技術基礎”MOOC課程的慕課堂數據。數據分為2個班級,其中卓越班、提高班各有26位學生的數據。每組數據由以下字段構成:用戶ID、學生昵稱、學生姓名、學生學號、學生分組、是否認證為該校學生、出勤情況、點名、課堂練習、參與討論個數、獲贊數、優秀發言次數、視頻觀看個數、視頻觀看次數、視頻觀看時長、測驗、作業、考試、討論區、域外成績、線上總成績,共計21項。其中,用戶ID、學生昵稱、學生姓名、學生學號、學生分組、是否認證為該校學生屬于用戶標識字段,無法作為分析對象;點名、獲贊數、優秀發言次數、作業、域外成績等字段由于使用頻率很低,導致以上字段下的數據大部分或全部為空,分析的意義不大;視頻觀看次數和討論區字段的數據統計方式不明確,無法查詢后臺設定的有效計數標準,因此未將這兩個字段納入分析范圍。根據以上判斷,最終確定以下8個字段的數據作為后續研究的目標:出勤情況、課堂練習、參與討論個數、視頻觀看個數、視頻觀看時長、測驗、考試、線上總成績。其中前3個字段屬于線下數據,其余字段屬于線上數據。
經過對各組數據的篩查之后,發現了以下問題:
(1)提高班有1位學生期末考試記錄為曠考;
(2)提高班慕課堂數據中有2組數據的姓名、學號等字段相同,賬號狀態分別為“已認證”與“未認證”,初步判斷為該學生操作失誤導致其數據出現異常;
(3)卓越班、提高班慕課堂數據有多組數據中出現了參與討論個數、考試等部分字段為空的情況。
針對以上問題,對數據分別進行如下處理:
(1)期末考試卷面成績顯示為“曠考”的學生,無法衡量其學習效果,后續研究中該學生的數據不再納入,因此將其數據刪除;
(2)針對該學生的數據異常,向任課教師詢問相關情況之后,將2組數據均包含的出勤情況、課堂練習、參與討論個數等字段進行綜合,其余字段由于“未認證”賬號數據顯示為空,直接使用“已認證”賬號的數據,最終合并為1組數據加入后續研究;
(3)參與討論個數字段在卓越班數據中沒有0值而只有空值,參考提高班數據,將這部分空值全部補0。考試字段數據的缺失是因為學生未在規定時間參加線上考試或者考試結果因故未能被后臺記錄,因此該字段缺失值不納入研究范圍。由于線上考試的分數在線上總成績字段中占較大比重,分數為空會直接導致線上總成績的異常,因此對應的線上總成績也無法納入后續分析。
完成數據清洗工作之后,卓越班共計26組數據,其中2組數據部分字段無效,提高班共計24組數據,其中1組數據部分字段無效。
將物理或抽象對象的集合分成由類似的對象組成的多個類的過程被稱為聚類[3]。由聚類所生成的簇是一組數據對象的集合,這些對象與同一個簇中的對象彼此相似,與其他簇中的對象相異。聚類是一種無監督的模式識別技術。它的關鍵是特征提取和聚類算法,本文采用K-means算法進行分析[4]。
查閱相關資料可知,在K-Means聚類算法中,確定K值的方法主要分為兩種:“手肘”法和“輪廓系數”法,本文采用前者[5]。
“手肘”法中的判斷標準是誤差平方和SSE(Sum of Squared Errors),表達式如式(1)所示。

(1)
其中,Ci表示第i個類,p表示其中的數據對象,mi則表示第i個類的質心。
“手肘”法的思路是,在聚類過程中,隨著K值不斷增大,即聚類中心的不斷增多,數據的分割會更為細碎,根據式(1)可知,SSE的值會因此減小。在K值處于小于真實聚類數的范圍內時,SSE隨K值的增大而減小的程度會比較大,在坐標軸中會顯示為兩點之間的連線斜率絕對值較大;而在K值大于真實聚類數之后,SSE隨K值的增大而減小的程度較緩,在坐標軸中會顯示為兩點之間的連線斜率絕對值較小。所以SSE隨K值變化的折線圖會呈現出“手肘型”,變化趨勢由陡峭轉平緩的點為“肘部”,即最優K值。
本研究實現“手肘”法的集成開發環境Spyder,程序設計語言是Python 3.7.0。
程序的主要流程可分為3步;
(1)讀取數據:將各字段的學習數據與對應學生的期末考試卷面成績保存為.csv格式的文件,供程序進行讀取,存放在數據框結構中。
(2)依次選擇各字段數據,利用sklearn庫中自帶的聚類器,獲得K取不同值時的SSE。根據實際情況,K的范圍取[1,10]的整數。由于本程序的目標是為了獲得理想K值,對聚類的效果并無要求,而只需要保持聚類過程的一致性,因此直接選擇了sklearn中的聚類器。
(3)設置坐標軸等信息,畫出SSE隨K值變化的折線圖,讀出理想K值,并保存折線圖。
通過折線圖,可以得到各字段進行K-Means聚類的理想K值,如表3-1所示。

表3-1 各字段K-Means聚類理想K值
再將每個班級的每個字段數據與對應的期末考試卷面成績作為輸入值,每個字段進行10次K-Means聚類過程,共得到160組聚類圖與對應聚類中心坐標。然后根據SSE,結合實際聚類效果與結果穩定性,對聚類結果進行篩選,得到每個班級每個數據字段與期末考試卷面成績的聚類結果,圖2慕課堂線上課堂練習的聚類結果圖。

(a)卓越班課堂練習聚類圖

(b)提高班課堂練習聚類圖圖2 慕課堂線上課堂練習的聚類結果圖
在計算Pearson相關系數、Spearman等級相關系數、Kendall等級相關系數之前,判斷數據能否滿足各相關系數的適用條件。清洗后的數據與期末考試卷面成績均成對出現,滿足了計算相關系數的基本條件。計算Pearson相關系數時,要求變量是連續數據并滿足正態分布或接近正態的單峰分布,而從聚類圖中數據點的分布可知,期末考試卷面成績隨學習維度數據的變化基本上不符合正態分布,且某些字段的數據也并不連續。因此,Pearson相關系數在此研究中僅作為參考。
利用Matlab工具,可以快速而準確地得到三大相關系數的值。依次將學習數據的各字段作為集合X,期末考試卷面成績作為集合Y,計算相關系數。各字段數據與期末考試卷面成績的相關系數如表4-1所示。

表4-1 卓越班、提高班學習維度與期末考試卷面成績相關系數
將以上結果通過柱狀圖形式表示,如圖3所示。

(a)卓越班

(b)提高班圖3 學習維度與期末考試卷面成績相關系數柱狀圖
若將|R|∈[0.7,1)稱為強相關,|R|∈[0.4,0.7)稱為中度相關,|R|∈(0,0.4)稱為弱相關,考察Spearman等級相關系數與Kendall等級相關系數,則認為:
對于卓越班,MOOC平臺的課堂練習、參與討論個數、考試與學習效果之間呈中度正相關,視頻觀看個數、線上總成績與學習效果之間呈弱的正相關,出勤情況、視頻觀看時長、測驗與學習效果之間可以近似認為不相關;
對于提高班,MOOC平臺的課堂練習與學習效果之間呈中度正相關,參與討論個數與學習效果之間呈弱的正相關,出勤情況、考試與學習效果之間呈弱的負相關,視頻觀看個數、視頻觀看時長、測驗、線上總成績與學習效果之間可以近似認為不相關。
將聚類分析與相關性分析的結果進行匯總時,需要對數據進行標識。反映相關性分析的結果時,只需對各字段按相關性的強弱進行標識即可。對于聚類分析,由于聚類圖中的類別排序比較混亂,各字段的聚類數也不一致,為了便于呈現結果,本文提出一個用于聚類標識的模型。
該模型如圖4所示,圖中橫軸為學生各學習維度的表現,縱軸為期末考試卷面成績,且聚類數均為2或3,因此該聚類標識模型的主要目標是反映聚類在坐標軸中的相對位置關系。

圖4 聚類分析結果標識模型圖
坐標軸的數據區域被分為4塊,學習維度表現較差且成績較差為1區域“亟需努力”區,學習維度表現較差但成績較好為2區域“小有天賦”區,學習維度表現較好但成績較差為3區域“學而無功”區,學習維度表現較好且成績較好為4區域“學有所成”區。需要指出的是,以上的區域劃分界限并不是絕對的,而是根據聚類之間的相對位置關系確定各個聚類所屬的區域。若聚類呈“1-4”形分布,則代表該維度與學習效果呈較強的正相關;反之,若聚類呈“2-3”形分布,則代表較強的負相關關系;同理,若聚類呈“2-4”、“3-4”形分布,則代表相關性較弱。由此,聚類分析與相關性分析的聯系得到了構建。
(1)線下的“課堂練習”是一個具有重要參考價值的學習維度,在對兩個班級的分析過程中都體現了這一點。結合實際使用經驗,在課堂教學過程中使用該功能時,學生需要在規定時間內對教師展示的問題給出答案,其過程近似于考試,因此該維度的表現與考試成績具有較強的相關性。
(2)其它具備一定參考價值的學習維度包括線下的“參與討論個數”與線上的“視頻觀看個數”,前者反映了學生對課堂內容的投入情況,后者反映了學生課后的學習表現。對比這兩項分別對標的線下“出勤情況”與線上“視頻觀看時長”,它們并不能很好地反映學生的學習效果。“視頻觀看個數”是指學生打開視頻并看完的個數,在一定程度上能反映學生對于自己所需學習內容的選擇,而“視頻觀看時長”是對時間的記錄,兩個班級在這個字段的數據均體現出明顯的極端性,兩個聚類的橫向距離差距很大。
(3)卓越班的學習表現與考試成績普遍較好。26名學生的學習數據中,每個字段中屬于“亟需努力”聚類的數據不超過5個,控制在了20%以內,這個比例在教學中是可以接受的。其他同學的學習表現,大部分比較優秀,考試成績基本上在80分以上,并且存在數量較多的高分學生。結合聚類分析、相關性分析與預測模型的結果,卓越班的學習效果可以較好作為學習表現的反映。
(4)提高班的考試成績差距比較大,低分和不及格的人數較多,達到90分的學生只有1個。本班整體學習表現欠佳,主要體現在“學而無功”聚類與“小有天賦”聚類的頻繁出現。
(5)線下課堂的教學中,應該提升與學生互動的頻率,從而考察學生的課堂參與度。在教學實踐中,應該著重關注學生在“簽到”之后的表現,相關的統計數據更能夠反映學生對于課堂內容的專注程度,并最終體現在他們的成績上。基于“課堂練習”的參考價值,在教學中應該增加類似的隨堂測試數量。通過分析學生在類似測試中的表現,一方面可以直接評估學生的學習效果,另一方面可以提前對學生的學習數據與效果進行分析并使用模型進行預測,提前警示。
MOOC改變并影響了我們的課堂教學, MOOC平臺上記錄的大數據,也是非常寶貴的資源。本文完成了MOOC平臺各學習維度數據與學生的期末考試成績的聚類分析,通過聚類分析算法,從多角度對學生的學習表現進行分類。對學習表現與學習成績之間進行相關性分析,探究各學習維度在不同班級群體中對學習效果帶來的影響。并結合聚類分析的結果,通過與實際成績的比較,從班級之間的橫向與學習維度之間的縱向提出了研究結論,并且根據結論,對未來教學實踐提出了針對性建議,也為教師課堂教學持續改進提供理論依據。