周昱彤 張躍富 劉競澤 孫瑋潞 呂震宇*
(1.華北理工大學經濟學院 河北省唐山市 063000 2.華北理工大學管理學院 河北省唐山市 063000)
(3.天津科技大學 天津市 300000)
高考志愿填報工作中高校錄取分數的預測對于考生來說至關重要,直接決定其志愿填報的質量[1]。等效分法是一種常用的高校高考錄取分數預測方法,該算法使用考生所在省份當年一分一檔表將分數轉換為排名位次,然后使用上一年度一分一檔表將排名位次反向轉換為分數,進而實現不同年度錄取分數的可比性,幫助考生結合往年高校錄取分數確定志愿的填報方案。這種填報方法需要考生進行大量的一分一檔表查找轉換工作。由于一分一檔表屬于離散型數據,數據量較大,使得查找過程十分繁瑣不便。為此需要找到合適方法將大量的離散型數據進行壓縮,以便于查找計算。
目前對離散型數據進行壓縮使其連續化的方法有線性回歸、指數回歸、多項式回歸等,這些方法需要事先給出回歸方程,針對趨勢明顯的數據具有較好的回歸效果。但利用格學教育所提供的2018年河北省高考理科一分一檔表數據繪制出曲線圖(如圖1)發現,一分一檔表曲線形狀并不規則,沒有明顯的典型回歸方程特征,無法使用現有回歸手段進行連續化處理。而運用Spline 樣條插值法所確定的樣條曲線是經過或接近影響曲線形狀的一系列點的平滑曲線,該方法無需數據具有明顯的趨勢特征。因此可以通過設計一套通用Spline 回歸算法,實現對不規則一分一檔表的Spline 曲線回歸,進而使得一分一檔表數據得到有效壓縮。
本文設計的Spline 回歸算法采用模擬退火算法,首先初始設置較多的Spline 關鍵點,動態調整位置使誤差平方和最小。然后逐次從剩余的關鍵點中挑選并拿走一個關鍵點,并確保該關鍵點拿走后產生的誤差平方和最小,直至達到指定關鍵點數量。
Spline 回歸的設計思路:在一個有若干點的象限中擬合的Spline 曲線上,坐標軸均勻劃分x 份,在曲線中找到對應的x 個點,逐個取走Spline 曲線中的點,改變該曲線的關鍵點knot 個數,會影響曲線的形狀[2],回歸曲線過未取走節點的同時,擬合取走的節點。重復以上過程,使得每個被取走的點對曲線整體誤差平方和的影響最小,直到剩余節點等于設定節點數量,Spline 回歸曲線過剩余節點擬合為一條光滑的曲線。
Spline 回歸具體算法如圖2所示。
以圖1 為例,縱坐標為分段對應人數,橫坐標為高考分數,函數沒有明顯的典型回歸方程特征,使用本文設計的Spline 回歸算法將一分一檔表中分數散點擬合為一條連續的光滑曲線。
為了探討Spline 回歸曲線中初始點對結果的影響和不同數量關鍵點knot 對結果的影響,設計如下實驗:
A、初始點對結果的影響對比分析以及實驗;

圖1:2018年河北省高考理科一分一檔表

圖2:Spline 回歸具體算法
B、不同數量關鍵點knot 對結果的影響對比分析。

圖3:關鍵點knot 為10, 初始點分別為100、40

圖4:初始點100,關鍵點knot 分別為15、10、8、6
圖3 顯示,在關鍵點knot 為10 的情況下,初始點為100 的誤差平方和為208913.75,初始點為40 的誤差平方和為227130.07。對比可知,在初始點數量不同,關鍵點knot 數量相同的情況下,初始點越密,誤差平方和越小,spline 回歸擬合效果越好。
圖4 顯示,在初始點為100 的情況下,關鍵點為15 的誤差平方和為181309.37,關鍵點為10 的誤差平方和為208913.75,關鍵點為8 的誤差平方和為357710.45,關鍵點為6 的誤差平方和為602025.29。對比可知,在初始點數量相同,關鍵點knot 數量不同的情況下,關鍵點knot 數量越多,誤差平方和越小,回歸效果越好,但數據壓縮效果越差。此外,即便在終結點數量非常少的情況下,本算法仍然能夠得到較為滿意的回歸效果。
針對一分一檔表為離散數據且數據量大,不方便查找的問題,本文設計了基于模擬退火算法的Spline 回歸算法,將不規則離散型數據連續化,在壓縮數據量的同時方便了分數、排名間的映射。實驗表明,該算法具有良好的擬合效果,在大幅壓縮原始數據量的情況下仍然能夠得到較好的擬合結果。