供應(yīng)鏈預(yù)測里有個(gè)老毛病:GBDT(梯度提升決策樹)建完模就跑,誤差卡在1-3%死活下不去。很多人以為是數(shù)據(jù)天花板,其實(shí)是異方差性在作祟——方差隨水平變化而波動(dòng),模型學(xué)的是平均,預(yù)測的是變形。
本文講一個(gè)20分鐘能落地的三件套:留出樣本殘差→平方根穩(wěn)定方差→逆變換+偏差校正。核心武器是Jensen不等式,解決非線性變換后的系統(tǒng)性低估問題。
為什么差分在供應(yīng)鏈里經(jīng)常翻車
預(yù)測論壇逛多了,你會(huì)聽到一種聲音:"LGBM(LightGBM)直接擬合,別折騰。"這話對了一半。GBDT確實(shí)強(qiáng),但"直接擬合"在供應(yīng)鏈場景里有個(gè)陷阱:目標(biāo)序列往往 heteroskedastic(異方差),高水平時(shí)期的波動(dòng)絕對值更大,模型被迫在"擬合高峰"和"擬合低谷"之間做妥協(xié)。
傳統(tǒng)計(jì)量經(jīng)濟(jì)學(xué)愛用的差分法,在這里經(jīng)常幫倒忙。差分確實(shí)能讓序列看起來平穩(wěn),但GBDT對噪聲極其敏感——差分操作把原始信號(hào)的微擾放大成噪聲,模型轉(zhuǎn)頭就去擬合這些人工制造的波動(dòng)。供應(yīng)鏈數(shù)據(jù)里,差分后的序列信噪比往往更差,除非你的領(lǐng)域本身有強(qiáng)烈的單位根特征。
平方根變換是更干凈的路子。它壓縮高值區(qū)域的方差、拉伸低值區(qū)域,把"喇叭口"形狀的方差結(jié)構(gòu)拉平。但這里埋著一個(gè)數(shù)學(xué)雷:√y 的期望不等于 y 期望的平方根。直接逆變換回去,預(yù)測值會(huì)系統(tǒng)性偏低。
Jensen不等式:那個(gè)被忽略的偏差項(xiàng)
核心等式很簡單:E[f(X)] ≠ f(E[X]),只要 f 是非線性的。平方函數(shù)是凸函數(shù),根據(jù)Jensen不等式,(E[√y])2 < E[y]。模型在√y空間學(xué)到的是 E[√y],我們逆變換得到的是 (E[√y])2,中間差了一個(gè) Var(√y)。
補(bǔ)全公式:E[y] = (E[√y])2 + Var(√y)。這個(gè)方差項(xiàng)就是偏差校正的關(guān)鍵。但在供應(yīng)鏈預(yù)測里,你不能直接用訓(xùn)練集的殘差方差——那是過擬合的幻覺。需要 out-of-fold(留出樣本)殘差,模型沒見過這些數(shù)據(jù),方差估計(jì)才可靠。
拿到留出殘差 z 之后,直接算 Var(z) 有個(gè)問題:水平漂移和趨勢會(huì)讓方差估計(jì)膨脹。一個(gè)SKU從100漲到1000,殘差絕對值自然變大,這不代表預(yù)測精度下降,只是規(guī)模變了。需要一種對水平變化穩(wěn)健的方差估計(jì)方法。
Variogram:用一階差分挖出局地方差
地統(tǒng)計(jì)學(xué)里的 variogram(變異函數(shù))有個(gè)巧妙性質(zhì):連續(xù)差分的方差與原始方差存在解析關(guān)系。具體實(shí)現(xiàn)是,計(jì)算留出殘差的一階差分 Δz,取 Var(Δz)/2 作為 Var(√y) 的估計(jì)量。
為什么除以2?因?yàn)?Var(Δz) = Var(z_t - z_{t-1}) = 2Var(z) - 2Cov(z_t, z_{t-1})。假設(shè)殘差序列局部平穩(wěn)、自相關(guān)較弱,協(xié)方差項(xiàng)趨近于零,Var(Δz) ≈ 2Var(z),所以 Var(z) ≈ Var(Δz)/2。這個(gè)估計(jì)對水平漂移免疫——如果整個(gè)序列向上平移100,差分后平移被消掉,方差估計(jì)不變。
實(shí)操中有個(gè)坑:重尾分布的SKU,單周異常值就能把 σ2 頂上天。偏差校正項(xiàng)一旦超過預(yù)測值本身的10%,校正就變成了主導(dǎo),預(yù)測失真。經(jīng)驗(yàn)做法是設(shè)5-10%的上限,作為安全閥。校正目的是"輕推"預(yù)測向上,而非重寫預(yù)測。
20分鐘落地:三步走檢查清單
第一步,留出樣本殘差。時(shí)間序列用前向鏈?zhǔn)津?yàn)證,非時(shí)序用K折。關(guān)鍵是殘差必須來自模型未見的樣本,訓(xùn)練集殘差方差是樂觀偏差。
第二步,平方根變換擬合。目標(biāo)變?yōu)椤蘺,GBDT正常訓(xùn)練。預(yù)測階段輸出 √?,準(zhǔn)備逆變換。
第三步,variogram校正。計(jì)算留出殘差的一階差分,Var(Δz)/2 得方差估計(jì),加到 (√?)2 上。重尾SKU設(shè)5-10%上限,完成。
整個(gè)流程不需要改模型結(jié)構(gòu),不增加推理成本,純后處理。誤差降幅1-3%在供應(yīng)鏈場景里意味著真金白銀——庫存周轉(zhuǎn)、缺貨損失、加急運(yùn)費(fèi),都是可量化的ROI。
最后留個(gè)問題:你的預(yù)測管線里,有多少"理所當(dāng)然"的預(yù)處理步驟,其實(shí)從未用留出樣本驗(yàn)證過真實(shí)增益?
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.