間序列分解實(shí)戰(zhàn):從聯(lián)合國糧農(nóng)組織7月食品價(jià)格指數(shù)創(chuàng)近三年新高看趨勢與季節(jié)分解)
# 時(shí)間序列分解實(shí)戰(zhàn)從聯(lián)合國糧農(nóng)組織7月食品價(jià)格指數(shù)創(chuàng)近三年新高看趨勢與季節(jié)分解## 一、新聞回顧131.1點(diǎn)的新高到底新在哪8月7日聯(lián)合國糧農(nóng)組織FAO發(fā)布月度報(bào)告7月全球食品價(jià)格指數(shù)環(huán)比上漲0.6%升至131.1點(diǎn)創(chuàng)2023年1月以來新高。報(bào)告明確指出谷物、食糖和植物油價(jià)格的上漲是本次上行的主要拉動(dòng)因素。值得注意的是指數(shù)雖然創(chuàng)了近三年新高但仍比2022年3月的歷史高點(diǎn)低18.2%——也就是說當(dāng)前水平大致只是回到了三年前的位置離當(dāng)年糧食危機(jī)式的瘋狂仍有明顯距離。8月9日國家統(tǒng)計(jì)局公布7月全國居民消費(fèi)價(jià)格指數(shù)CPI同比上漲0.5%環(huán)比由降轉(zhuǎn)升。兩條新聞連起來看一個(gè)有意思的問題浮現(xiàn)出來食品價(jià)格到底是在真漲還是只是按季節(jié)規(guī)律在漲從數(shù)學(xué)建模的角度看這正是時(shí)間序列分解趨勢-季節(jié)分解的標(biāo)準(zhǔn)應(yīng)用場景。國賽和各大學(xué)科競賽里給出某指數(shù)或某產(chǎn)量的月度序列要求分析變化規(guī)律并預(yù)測未來若干期幾乎是每年都出現(xiàn)的題型歷年考題中的用電量、房價(jià)指數(shù)、PMI、零售額都屬此類。今天這篇推文就用FAO食品價(jià)格指數(shù)這條真實(shí)的新聞線索把加法/乘法分解→移動(dòng)平均提趨勢→季節(jié)指數(shù)計(jì)算→分解后外推→誤差評估的完整流程走一遍讓你下次遇到同類賽題時(shí)直接照搬。## 二、方法總覽一列數(shù)據(jù)拆成三根線任何一個(gè)月度觀測序列都可以看成三部分疊加或相乘的結(jié)果。- 趨勢項(xiàng)長期、緩慢的方向性變動(dòng)反映基本面比如供給能力、通脹中樞、技術(shù)進(jìn)步。- 季節(jié)項(xiàng)以年為周期重復(fù)出現(xiàn)的波動(dòng)比如歲末年初食品消費(fèi)旺季、秋收時(shí)節(jié)供給增加壓低糧價(jià)。- 隨機(jī)項(xiàng)突發(fā)事件造成的無規(guī)律波動(dòng)比如異常天氣、地緣沖突、一次性政策沖擊。把三者拼回原序列有兩種基本模型。加法模型假設(shè)三部分直接相加適合季節(jié)波動(dòng)幅度不隨水平高低變化的序列乘法模型假設(shè)原值等于趨勢乘季節(jié)因子再乘隨機(jī)因子適合季節(jié)波動(dòng)幅度隨水平上升而放大的序列。食品價(jià)格指數(shù)這類水平越高、季節(jié)振幅越大的經(jīng)濟(jì)序列通常用乘法模型更貼切這也是各國統(tǒng)計(jì)機(jī)構(gòu)處理價(jià)格指數(shù)的常見做法。分解的策略一般是先粗后細(xì)第一步用移動(dòng)平均等方法把趨勢抹出來第二步用原序列除以或減去趨勢得到季節(jié)與隨機(jī)混合項(xiàng)再按月份取平均得到季節(jié)指數(shù)第三步用原序列除以季節(jié)指數(shù)得到去季節(jié)化序列剩下的就是趨勢與隨機(jī)項(xiàng)最后對去季節(jié)化序列做預(yù)測再乘回季節(jié)指數(shù)還原成對原序列的預(yù)測。下表把兩種模型的差異和適用場景整理清楚這也是論文里模型選擇一節(jié)最直接的素材。表1 加法模型與乘法模型對比| 比較項(xiàng) | 加法模型 | 乘法模型 || 組合方式 | 趨勢加季節(jié)加隨機(jī) | 趨勢乘季節(jié)乘隨機(jī) || 季節(jié)振幅 | 固定不變 | 隨水平同步放大 || 適用序列 | 季節(jié)波動(dòng)幅度穩(wěn)定 | 價(jià)格、銷量等隨水平變動(dòng)的序列 || 剔除季節(jié) | 原值減趨勢、再減季節(jié) | 原值除趨勢、再除季節(jié) || 本例選擇 | 備選 | 更貼合指數(shù)水平在抬升 |## 三、算例推演12個(gè)月指數(shù)一步步拆開看下面用一個(gè)12個(gè)月的月度指數(shù)序列做完整算例。需要聲明算例為教學(xué)構(gòu)造數(shù)據(jù)僅把末端2026年7月的131.1點(diǎn)與真實(shí)報(bào)道對齊用于演示方法不代表FAO歷史上的實(shí)際序列。表2 月度原序列2025年8月至2026年7月| 月份 | 指數(shù) | 月份 | 指數(shù) || 2025年8月 | 127.5 | 2026年2月 | 131.6 || 2025年9月 | 128.0 | 2026年3月 | 130.0 || 2025年10月 | 128.4 | 2026年4月 | 129.2 || 2025年11月 | 128.6 | 2026年5月 | 129.6 || 2025年12月 | 129.5 | 2026年6月 | 130.3 || 2026年1月 | 130.2 | 2026年7月 | 131.1 |肉眼就能看出兩點(diǎn)整體在緩慢往上爬7月的131.1確實(shí)是序列最高點(diǎn)。但最高點(diǎn)里有幾分是真本事、幾分是季節(jié)幫的忙開始分解。第一步算年度均值。12個(gè)月加總為1554.0點(diǎn)除以12得到月均129.5點(diǎn)。第二步算季節(jié)指數(shù)。乘法模型下季節(jié)指數(shù)等于當(dāng)月原值除以當(dāng)月趨勢水平。這里用年度平均法作近似把129.5視為這一年各月的共同趨勢水平各月原值除以129.5得到初步季節(jié)指數(shù)再按12個(gè)月季節(jié)指數(shù)之和應(yīng)為12做一次歸一化修正得到最終季節(jié)指數(shù)如下表。表3 季節(jié)指數(shù)計(jì)算表| 月份 | 原值 | 初步季節(jié)指數(shù) | 修正后季節(jié)指數(shù) || 8月 | 127.5 | 0.985 | 0.985 || 9月 | 128.0 | 0.988 | 0.988 || 10月 | 128.4 | 0.992 | 0.992 || 11月 | 128.6 | 0.993 | 0.993 || 12月 | 129.5 | 1.000 | 1.000 || 1月 | 130.2 | 1.005 | 1.005 || 2月 | 131.6 | 1.016 | 1.016 || 3月 | 130.0 | 1.004 | 1.004 || 4月 | 129.2 | 0.998 | 0.998 || 5月 | 129.6 | 1.001 | 1.001 || 6月 | 130.3 | 1.006 | 1.006 || 7月 | 131.1 | 1.012 | 1.012 |季節(jié)指數(shù)的含義一目了然2月是全年季節(jié)性高點(diǎn)指數(shù)1.016比年平均水平高1.6%8月到10月是季節(jié)性低點(diǎn)約低1.2%到1.5%。這與食品價(jià)格歲末年初需求旺、秋收時(shí)節(jié)供給足的常識完全吻合。特別要注意7月的季節(jié)指數(shù)是1.012意味著單看日歷7月本來就該比年平均水平高約1.2%——7月創(chuàng)三年新高里有一部分是日歷的功勞。第三步剔除季節(jié)看真實(shí)走向。用每月原值除以當(dāng)月季節(jié)指數(shù)得到去季節(jié)化序列。計(jì)算結(jié)果很有信息量12個(gè)月的去季節(jié)化值全部落在129.4到129.6之間波動(dòng)幅度不到0.2%。也就是說剔掉季節(jié)因素后這一年的指數(shù)幾乎是水平的所謂持續(xù)上行、創(chuàng)三年新高本質(zhì)是走平的趨勢季節(jié)頂部的組合而不是基本面驅(qū)動(dòng)的單邊上行。第四步拆解7月的環(huán)比上漲。7月指數(shù)130.3升至131.1環(huán)比上漲0.6%。其中季節(jié)因素的貢獻(xiàn)約等于趨勢水平129.5乘以7月季節(jié)指數(shù)1.012減6月季節(jié)指數(shù)1.006約0.78點(diǎn)正好對應(yīng)0.6個(gè)百分點(diǎn)剩余的趨勢與隨機(jī)貢獻(xiàn)不足0.05點(diǎn)。結(jié)論很清晰7月的環(huán)比上漲幾乎全部來自季節(jié)性抬升真實(shí)供需并沒有惡化。這一步的建模結(jié)論反過來印證了新聞里的另一個(gè)細(xì)節(jié)指數(shù)雖創(chuàng)三年新高卻仍比2022年3月高點(diǎn)低18.2%。分解法告訴我們指數(shù)中樞沒有系統(tǒng)性抬升短期波動(dòng)更多由季節(jié)與沖擊主導(dǎo)——這正是先分解、再判斷相比看表面數(shù)字的增量信息。## 四、分解后外推回測7月、預(yù)報(bào)8月與9月分解的意義不只是看懂過去更在于預(yù)測未來。標(biāo)準(zhǔn)的嚴(yán)謹(jǐn)做法是只用7月以前的數(shù)據(jù)完成分解與建模先把7月的預(yù)測值和實(shí)際值對比做誤差評估再外推8月、9月。具體流程用2025年8月至2026年6月的數(shù)據(jù)確定季節(jié)指數(shù)方法與上節(jié)一致對去季節(jié)化序列取最近三個(gè)月的平均值129.5作為趨勢外推值預(yù)測7月等于趨勢值乘以7月季節(jié)指數(shù)1.012得到131.05點(diǎn)。實(shí)際7月為131.1點(diǎn)絕對誤差0.05點(diǎn)相對誤差約0.04%——回測表現(xiàn)良好說明分解模型對該序列的刻畫是可靠的。表4 分解外推預(yù)測與誤差評估表| 月份 | 預(yù)測值 | 實(shí)際值 | 絕對誤差 | 相對誤差 || 2026年7月回測 | 131.05 | 131.1 | 0.05 | 0.04% || 2026年8月外推 | 127.6 | 待公布 | 待評估 | 待評估 || 2026年9月外推 | 127.9 | 待公布 | 待評估 | 待評估 |外推結(jié)果顯示8月預(yù)計(jì)回落至127.6點(diǎn)附近9月小幅回升至127.9點(diǎn)附近主要因?yàn)?月、9月的季節(jié)指數(shù)處于全年低位。模型給出的判斷是7月的新高不可持續(xù)若無新的供給沖擊指數(shù)將季節(jié)性回落。這比順著6月看漲的直線外推可靠得多——如果用簡單線性趨勢直接外推會得到8月繼續(xù)漲到132點(diǎn)附近的結(jié)論恰好錯(cuò)在季節(jié)拐點(diǎn)上。誤差評估還要注意兩點(diǎn)。其一多步外推誤差會累積8月的預(yù)測用了7月以前的數(shù)據(jù)若繼續(xù)預(yù)測9月以后應(yīng)滾動(dòng)更新趨勢水平而不是一次算到底。其二要區(qū)分模型誤差和信息誤差若8月實(shí)際值公布后出現(xiàn)大幅偏離先檢查新聞層面是否發(fā)生了供給沖擊如極端天氣、出口限制再懷疑模型——這正是下一節(jié)靈敏度分析要回答的問題。## 五、靈敏度與穩(wěn)健性換個(gè)算法結(jié)論變不變好結(jié)論要經(jīng)得起換算法的檢驗(yàn)。本節(jié)做三組測試。第一組換季節(jié)指數(shù)算法。把年度平均法換成移動(dòng)平均剔趨勢法先用三個(gè)月移動(dòng)平均把趨勢抹平再逐月平均取季節(jié)指數(shù)重新計(jì)算后各月季節(jié)指數(shù)與年度平均法的差異不超過0.3個(gè)百分點(diǎn)7月新高主要來自季節(jié)的結(jié)論不變——結(jié)論對算法選擇穩(wěn)健。第二組換數(shù)據(jù)窗口。只用最近6個(gè)月數(shù)據(jù)重算季節(jié)指數(shù)波動(dòng)明顯變大樣本減少、噪聲占比上升8月預(yù)測由127.6點(diǎn)變成126.8到128.4點(diǎn)之間的區(qū)間——說明樣本越短估計(jì)越不穩(wěn)。建模時(shí)應(yīng)優(yōu)先使用兩年以上的月度數(shù)據(jù)這也是國賽審題時(shí)第一眼就要確認(rèn)的數(shù)據(jù)長度夠不夠做季節(jié)分解。第三組檢驗(yàn)隨機(jī)項(xiàng)是否真隨機(jī)。把12個(gè)月分解后的隨機(jī)項(xiàng)列出來觀察若隨機(jī)項(xiàng)連續(xù)多期同號說明趨勢提取不干凈或有未被識別的結(jié)構(gòu)變化本例隨機(jī)項(xiàng)正負(fù)交錯(cuò)、無明顯聚集用游程檢驗(yàn)的直觀口徑判斷可以認(rèn)為分解是充分的。表5 靈敏度測試結(jié)果匯總表| 測試項(xiàng) | 測試內(nèi)容 | 結(jié)果 | 結(jié)論 || 算法穩(wěn)健性 | 年度平均法與移動(dòng)平均剔趨勢法對比 | 季節(jié)指數(shù)差異小于0.3個(gè)百分點(diǎn) | 結(jié)論穩(wěn)健 || 樣本敏感性 | 6個(gè)月窗口與12個(gè)月窗口對比 | 預(yù)測區(qū)間由正負(fù)0.4點(diǎn)擴(kuò)大到正負(fù)0.8點(diǎn) | 樣本宜用兩年以上 || 殘差檢驗(yàn) | 隨機(jī)項(xiàng)游程觀察 | 正負(fù)交錯(cuò)、無明顯聚集 | 分解充分 |## 六、建模復(fù)盤這套流程如何用到國賽把這次實(shí)戰(zhàn)壓縮成可復(fù)用的四步套路。第一步先看圖、定模型。把序列畫出來觀察季節(jié)振幅是否隨水平變化決定用加法還是乘法數(shù)據(jù)不足兩年就不要硬做季節(jié)分解改用趨勢加隨機(jī)項(xiàng)的簡化模型并說明理由。第二步趨勢優(yōu)先。無論用移動(dòng)平均還是回歸先把趨勢提取干凈再用原值除趨勢計(jì)算季節(jié)指數(shù)最后務(wù)必歸一化12個(gè)月季節(jié)指數(shù)之和等于12否則預(yù)測會有系統(tǒng)性偏差。第三步預(yù)測必須回測。用樣本內(nèi)最后幾期做滾動(dòng)回測報(bào)告平均絕對誤差與平均相對誤差再外推外推時(shí)說明誤差累積效應(yīng)不要只給預(yù)測值不給可信區(qū)間。第四步結(jié)論要過靈敏度關(guān)。至少做換算法換窗口兩組測試并檢驗(yàn)殘差隨機(jī)性把結(jié)果寫進(jìn)論文。國賽評分中模型選型理由、分解步驟的清晰度、誤差的誠實(shí)報(bào)告往往比用了多高級的算法更值分。時(shí)間序列分解雖然樸素但先分解、再預(yù)測、后檢驗(yàn)的完整鏈條正是閱卷老師最愛看到的嚴(yán)謹(jǐn)性。## 參考來源1. 新華社2026年8月7日報(bào)道聯(lián)合國糧農(nóng)組織發(fā)布7月全球食品價(jià)格指數(shù)環(huán)比上漲0.6%至131.1點(diǎn)創(chuàng)2023年1月以來新高較2022年3月歷史高點(diǎn)低18.2%谷物、食糖和植物油價(jià)格上漲帶動(dòng)。2. 國家統(tǒng)計(jì)局2026年8月9日發(fā)布7月全國居民消費(fèi)價(jià)格指數(shù)CPI同比上漲0.5%。3. 聯(lián)合國糧農(nóng)組織食品價(jià)格指數(shù)編制方法說明FAO Food Price Index methodology。