賀菁偉 楊東諭
(1.北京市統計應用研究所,北京 100054;2.北京市商業經濟調查總隊,北京 100054)
新冠肺炎疫情發生以來,經濟社會各領域均受到較大沖擊。以消費領域為例,2020年1—8月,北京市社零額同比下降14.1%。其中,2020年1—3月,北京市社零額規模縮減明顯,同比下降21.5%;2020年4月以來,伴隨北京市復工復產的逐步推進和疫情防控形勢穩中向好,社零額降幅持續收窄,但恢復過程較為緩慢。
鑒于疫情滯后影響仍然存在,科學構建預測模型評估疫情對消費品市場的影響顯得尤為重要。本文利用北京市社零額月度數據,引入3個影響社零額的變量,即常住人口規模、城鎮居民人均可支配收入和居民消費價格指數,測算疫情對北京市社零額的影響程度和作用時滯,為后疫情時期支持北京市消費市場發展、促進消費潛力釋放提供數據支撐。同時,通過深入分析單變量模型和多變量模型之間的適用性,為時間序列數據的預測分析提供可借鑒思路。
關于疫情對經濟社會造成的影響,國內很多學者都進行過相關研究。如朱迎波等(2003)利用雙變量ARIMA模型,結合SARS疫情發生后人們的心理發展變化曲線,研究三類心理發展變化情況下疫情對中國入境旅游人數的影響;孫玉環(2006)重點探討ARMA模型在預測SARS對中國入境旅游外匯收入影響上的作用,并與傳統的“同期比”法進行對比,結果表明,ARMA模型充分考慮了時間序列自身的發展趨勢,在測算重大突發事件的影響時比“同期比”法更準確客觀。
時間序列分析方法是預測社零額的主要方法,包括自回歸協整移動平均模型(ARIMA)、考慮季節影響的ARIMA乘積模型、灰色模型(GM)等。其中,張華初等(2006)使用1978—2004年的月度全國社零額數據,構建了同時考慮時序滯后和季節影響的ARIMA乘積模型,并將2005年全國社零額月度實際值用于模型的預測檢驗;李庭輝等(2012)引入城鎮居民家庭人均可支配收入為自變量,使用經過季節調整的ARIMAX模型對2002年第一季度至2011年第二季度的社零額數據進行擬合分析,以擬合相對誤差為依據對社零額統計質量進行評估;王志堅等(2014)對我國1953—2010年社零額年度數據進行ARMA建模,并用該模型預測未來五年社零額的變化情況。
長短期記憶模型(LSTM)是一種改進的循環神經網絡模型(RNN),能夠記住更長周期的信息,并且規避了RNN中梯度爆炸和梯度消失的問題,近年來在自然語言處理、文本分析等領域有較好的應用。同時,相關研究顯示,LSTM在預測領域表現出較強的對時序數據的處理能力。趙軍豪等(2018)以微博數據為切入點,提出了融合情感分析和深度學習的多變量預測模型(SA-LSTM),結果表明,SA-LSTM的預測精度顯著高于ARIMA、LR、反向傳播(BP)神經網絡以及單變量LSTM模型;吳翌琳等(2020)應用傳統時間序列模型和神經網絡模型,對基于某社交新聞類App的日廣告收入數據進行互聯網企業廣告收入預測研究,結果表明,基于時間序列和神經網絡構建的組合模型對低頻數據預測有較強的有效性和適用性。
結合已有研究和統計實踐,本文認為影響社零額的因素主要有以下幾個方面:
一是人口因素。人是消費的主體和直接參與者,人的衣食住行必然與消費市場相連,直接或間接影響社零額。通常來說,城市人口越多,其消費需求越旺盛,社零額也會隨之增加。同時,人口的結構性變動也會影響社零額規模,主要體現在在總人口規模相似的前提下,城鎮化率高的地區,其社零額通常大于城鎮化率低的地區,即城鎮居民的消費能力普遍強于農村居民。
二是居民消費水平因素。居民消費水平的變化直接影響社零額,伴隨居民收入的增加和生活水平的提高,人們對美好生活的追求推動消費結構升級,改善型、高端型消費需求持續涌現,拉動社零額不斷增長。
三是價格因素。消費市場產業鏈較長,價格傳導特點明顯,即上中下游任一環節的價格變化,都會影響最終消費品的定價,進而影響社零額。
基于上述分析,我們以北京市統計局官網公布的數據為基礎,重點選取3個影響社零額的變量,即常住人口規模、城鎮居民人均可支配收入和居民消費價格指數,以月度為單位(2008年1月—2019年12月)構建各指標時間序列數據。
由于各指標統計頻率不盡相同,本文對4個變量數據分別進行處理:(1)根據公布的2005—2008年社零額1月和2月數據①根據國家統計局制度方法調整,2009年起,1—2月社會消費品零售總額指標按累計進行統計。,分別計算社零額1月和2月平均占比情況,并根據統計經驗,將2009—2019年社零額1—2月累計數據換算成月度數據;(2)采用差值法,按月均增速變化對常住人口規模進行增補,形成月度數據;(3)根據公布的2005—2007年城鎮居民可支配收入月度數據②根據國家統計局制度方法調整,2008年起,居民收支數據按季度統計。,分別計算各月城鎮居民可支配收入平均占比(本年),將2008—2019年城鎮居民可支配收入的季度數據和月度累計數據換算成月度數據;(4)將居民消費價格指數進行定基處理。
1.LSTM模型
LSTM是一種改進的循環神經網絡模型(RNN)。RNN模型因為可能發生梯度消失現象所以只能短期記憶。LSTM在每個序列索引t時刻向前傳播的信息除了和RNN一樣的ht外,還多了一個細胞狀態Ct,并通過遺忘門、輸入門和輸出門三種門控狀態來控制傳輸狀態,可以記住需要長時間記憶的信息,忘記不重要的信息。LSTM結構及表達式如下:
(1)遺忘門
遺忘門決定從細胞狀態中丟棄的信息。表達式為:

(2)輸入門
輸入門決定加入細胞狀態中的新信息。表達式為:


(3)輸出門
輸出門確定最終的輸出值。表達式為:

其中,ft表示需要記憶的信息比例;σ表示sigmoid激活函數;W與b分別表示權重與偏置;ht-1表示上一序列的輸出;xt表示本序列輸入;it表示需要更新的信息比例;表示更新的細胞信息;Ct-1表示上一序列的細胞狀態;Ct表示本序列的細胞狀態;ot表示需要輸出的信息比例;ht表示本序列的輸出。
2.SARIMA模型
SARIMA模型在ARIMA模型的基礎上增加了對季節性因素的預測,加入季節性自回歸、季節性移動平均和季節差分算子,轉換為SARIMA(p,d,q)×(P,D,Q)S模型,其表達式為:

其中,Yt為在時刻t下待預測的時間序列觀測值;S為季節周期長度(月度數據S=12);c為常量;∈t為殘差序列;B表示延遲或滯后算子,是原始時間序列觀測值Xt滯后k個周期的符號化體現;φρ(B)表示p階自回歸算子;θq(B)表示q階移動平均算子;(1-B)d表示d階差分得到的非季節性平穩序列;Φρ(BS)表示P階季節性自回歸算子;ΘQ(BS)表示Q階季節性移動平均算子;(1-BS)D表示D階季節差分得到的季節性平穩序列。
我們選取均方根誤差(RMSE)和平均絕對百分比誤差(MAPE)兩個評價指標度量模型的預測能力。其中,RMSE偏向于呈現模型整體的預測效果,常用于機器學習模型預測結果衡量的標準,值越小表示預測效果越好。但由于社零額數據量級較大,而測試集數據樣本較小,因此本文利用MAPE指標(值越小表示預測效果越好),通過計算誤差在真實值中的占比情況,比較不同模型的預測準確性,進一步分析各模型預測效果。


其中,yi是第i個測試樣本的真實值,是第i個測試樣本的預測值,n代表測試樣本數量。
本文通過建立單變量SARIMA模型、單變量LSTM模型和多變量LSTM模型預測社零額。其中,單變量SARIMA模型、單變量LSTM模型只考慮社零額的時間序列數據;多變量LSTM模型引入影響社零額的3個變量,對社零額進行預測。
基于R語言,選取2008年1月—2019年12月的社零額數據,其中,利用2008年1月—2018年12月社零額建立SARIMA模型,取2019年1—12月社零額作為測試集。第一步,通過ADF單位根檢驗對原始序列進行平穩化處理,初步確定模型的差分d=1,季節性差分D=1。第二步,繪制平穩化序列的ACF和PACF圖,初步確定p、q、P、Q的取值范圍。第三步,采用低階到高階逐步實驗的方法,根據AIC準則檢驗和Ljung-Box檢驗,確定擬合度最優模型SARIMA(1,1,1)×(0,1,0)12,預測出 2019年 1—12月社零額。
1.單變量LSTM模型預測。基于Python語言,利用單變量LSTM模型進行預測,選取2008年1月—2019年12月的社零額數據。第一步對數據進行歸一化處理。第二步取2008年1月—2018年12月的社零額數據作為訓練集,取2019年1—12月的社零額數據作為測試集。由于LSTM具有記憶功能,本文在構建模型時將時間階數設置為12,即認為每一時期的社零額與它前面12期(即1年)的社零額是相關的。故我們令模型的輸出變量yt為每一時期t的社零額數據,令模型的輸入變量Xt為它前面相鄰12期的社零額數據,進而預測出單變量LSTM模型中2019年1—12月社零額。
2.多變量LSTM模型預測。對多變量LSTM模型,選擇2008年1月—2019年12月的社零額、常住人口規模、城鎮居民人均可支配收入和居民消費價格指數數據。建模步驟與單變量LSTM模型基本一致,其中,令模型的輸出變量yt為每一時期t的社零額數據,令模型的輸入變量Xt為它前面相鄰12期的社零額、常住人口規模、城鎮居民人均可支配收入和居民消費價格指數數據。由于該模型引入了影響社零額的3個變量,我們先將3個變量2008年1月—2018年12月的數據作為訓練集,分別建立單變量LSTM模型,預測出3個變量2019年1—12月的值,進而預測多變量LSTM模型中2019年1—12月的社零額。
利用模型評價指標,通過對模型效果的預測進行比對(見表1),可以得出如下結論:

表1 各模型預測效果對比
1.LSTM模型的預測效果好于SARIMA模型。單變量LSTM模型的RMSE指標值小于單變量SARIMA模型,即單變量LSTM模型在精準性和穩定性上優于單變量SARIMA模型。同時,單變量LSTM模型MAPE指標值更小,可以得出,基于本文數據建立的單變量LSTM模型效果好于單變量SARIMA模型,即在數據顆粒度較粗、數據量較小的情況下,LSTM模型仍能顯示出較好的預測效果。
2.多變量模型優于單變量模型。單變量和多變量LSTM模型的MAPE指標值相近,多變量LSTM模型RMSE指標值小于單變量LSTM模型,可以得出,基于本文數據建立的多變量LSTM模型在測試集上的預測效果好于單變量LSTM模型,引入的3個變量對社零額均有顯著影響。

附圖 模型預測效果對比圖
結合模型預測對比分析結果,我們利用多變量LSTM模型,預測非新冠肺炎疫情影響下2020年北京市社零額月度變化情況,探討新冠肺炎疫情對北京市社零額的影響。
國家統計局根據第四次全國經濟普查數據結果對全國及各省、自治區、直轄市2019年社會消費品零售總額進行了修訂,本文根據2019年公布的社零額數據和2020年社零額同比增速情況,對2020年社零額實際值進行調整。

表2 2020年北京市社零額實際值與預測值比較
受新冠肺炎疫情影響,2020年1—8月,北京市社零額累計損失1012.8億元。其中,在疫情暴發初期,即較為嚴重的一季度,北京市社零額累計損失703億元,占累計總損失額的69.4%。隨著全國疫情防控形勢持續向好、北京市復工復產穩步推進、各類促消費政策有序出臺等,2020年二季度以來,北京市社零額損失額逐月減少。2020年1—8月,北京市社零額實際值較預測值降低13.2%,降幅較2020年一季度收窄11.3個百分點。
本文以社零額指標為例,通過傳統時間序列模型(SARIMA)和神經網絡模型(LSTM),預測新冠肺炎疫情對北京市社零額的影響。在模型構建上,引入多維變量,建立多變量LSTM模型。模型預測結果顯示,基于本文建立的時間序列數據,LSTM模型可以發揮神經網絡優勢,預測效果優于SARIMA模型。多變量LSTM模型的預測效果優于單變量LSTM模型,且引入的3個變量對社零額有顯著影響。最后,利用擬合度較好的多變量LSTM模型,對2020年北京市社零額排除新冠肺炎疫情影響進行預測,結果表明,疫情對北京市社零額的負面影響逐漸減弱。
長短期記憶模型在處理復雜數據的應用效果普遍優于傳統時間序列模型,但在處理低頻率數據上較難體現其優勢。本文引入多維變量,通過優化調整模型參數,證明了長短期記憶模型在處理傳統時間序列數據方面仍可發揮較好的預測效果,為提升傳統統計模型預測的準確性提供了經驗。