鄭陽 胡博 郝美薇 楊丹丹
(國網天津市電力公司信息通信公司,天津 300010)
隨著國家對經濟發展政策的不斷調整,行業之間的發展和影響更加緊密。基于細分行業的電力大數據,結合產業發展數據和相關指標的梳理,分析、挖掘不同行業之間的影響關系并進行相關預測研究,可以為公司發展、營銷服務等長期發展戰略制定提供決策支撐,同時對區域經濟結構轉型、地方經濟發展和相關經濟政策調整具有參考意義[1]。
2010 年,英國著名雜志《經濟學人》推出了一項用于評估中國GDP 增長量的指標“克強指數”,其中首要指標就是耗電量[2]。利用電力消費的結構、趨勢變化,可以對地區產業結構和宏觀經濟走勢進行分析和預測,在高質量發展的背景下為地方政府科學決策提供支撐[3]。
電力需求預測中常用的方法有回歸分析、時間序列分析、模糊預測、神經網絡、灰色理論、小波分析、支持向量機等。然而,直接使用上述模型分析,耗電量可能無法獲得合理的結果,基于這一考慮,應采用更加成熟的行業指數模型,在考慮電力消費結構的基礎上,綜合考慮氣溫、產品產值等外部數據。
本文以天津市電力局的耗電量數據,并結合對應年度的國家統計局的外部數據及其他外部數據,采用BP 神經網絡模型算法,預測各個行業的累計同比增長值增速,從而預測行業的景氣指數。
電力消費結構與地區的經濟走勢息息相關[4]。國內外學者對電力數據進行了一些相關研究。然而,這些研究只反映了電力消費的靜態結構,而不能反映其動態結構,在對電力消費的研究中,其預測往往基于一些主觀推測,缺乏定量客觀上的研究。另外,行業的發展與其耗電量息息相關。因此,有必要通過研究電力消費結構來對行業的景氣指數作出預測。
影響經濟的因素包括長期因素及短期因素。長期因素會對經濟發展造成長遠影響,如城市化率、政策影響。短期因素則會對經濟發展造成短期影響,在眾多因素中,季節、氣候、節假日安排、行業上游供給、行業下游需求等,都能夠在短期內影響一個行業的景氣程度。因此,可以將行業的用電情況與以上景氣影響因素相結合,來得到行業景氣的變化趨勢,預測行業未來的景氣指數。
利用特征數據對目的數據預測的方法有很多,而機器學習是其中最常見的預測算法[5]。機器學習是一種用數據和以往的經驗,以此來優化計算機程序的標準。在機器學習算法中,BP 神經網絡是一種常見的方法,由于BP 神經網絡所具有的優良的擬合特性,它可以以任意精度去擬合數據[6]。由于本文引入的外部數據為行業累計同比增加值增速,以及處理成為累計同比增加值增速形式的行業主要產物數據,這種同比形式的數據可以忽略時間序列因素的影響,因此在本次應用環境中,選用形式相對簡單、訓練速度較快的BP 神經網絡來進行擬合。
本文使用的電力數據來源于天津市電力局的耗電量數據,其包含2012 年1 月至2019 年9 月每月的數據。另外,本文使用的外部數據包括累計同比增加值增速,以及處理成為累計同比增加值增速形式的其他外部數據,用來為行業的累計增加值增速提供輔助幫助。
行業景氣指數預測模型是用于預測某一地區行業景氣程度的模型,本節介紹該模型的方法和流程。為了預測行業景氣程度,首先需要根據各個行業的特點進行特征選擇,并進行數據收集。然后需要對數據進行預處理和清洗,并劃分訓練集和測試集。其中,行業耗電量數據和行業相關數據是輸入,行業產值數據是輸出。利用訓練集對機器學習模型訓練,找到算法模型的最優超參數,并用其預測測試集。
特征選擇的目的是確定與目標行業相關的數據及行業產值累計同比增加值增速數據,即外部數據,并最終確定模型的輸入和輸出。外部數據即包括氣溫等對各個行業都有廣泛影響的因素,也包括目標行業的原材料和產出等上下游數據。本節選擇了5 個典型的行業進行分析,各個行業的輸入如表1 所示,各個行業的輸出都為累計同比增長值增速。
選擇行業的增加值增長速度作為行業景氣程度的判斷指標的原因是,工業增加值增長速度,即工業增長速度,是用來反映一定時期工業生產物量增減變動程度的指標。利用該指標,可以判斷短期工業經濟的運行走勢,判斷經濟的景氣程度,也是制定和調整經濟政策,實施宏觀調控的重要參考和依據[7]。由于此處使用的增加值增速是累計同比,也就排除了季節、假期等外部因素的干擾,因此只需考慮累計月份的平均氣溫以及行業的用電情況作為主要影響因素。
由于目標行業的上游供給和下游需求對目標行業的景氣程度有著至關重要的影響,因此目標行業相關的上下游產業的主要產品產量也被作為模型輸入的一部分,使得模型更具有現實應用意義,并且能夠提高模型的準確性。

表1 模型輸入輸出信息表
根據已經確定好的模型輸入輸出表,收集5 個行業的外部數據,將原始數據以表格或CSV 格式存儲。外部數據中,天津市月度平均氣溫(2012 年1 月至2019 年9 月)來自天津市統計局,行業累計同比數據(2013 年2 月至2019年9 月)來自前瞻數據庫,產量累計值數據(2012 年2 月至2019 年10 月)來自中國國家統計局。
2.3.1 數據清洗與數據預處理
由于所收集的原始數據可能存在缺失值和異常值的情況,因此需要填充缺失值并替換異常值,使用相鄰數據的均值來代替缺失值或異常值。在進行了數據清洗操作后,需要進行數據預處理,根據現有的氣溫數據以及用電數據計算得到模型的輸入數據。
由于行業景氣程度的判斷指標是行業產值的累計同比增長值增加速度,它的數據形式是:

從這個式子可以看出,作為訓練標記的增長值增速是一個時間段數據,而作為訓練輸入的氣溫和耗電量都是時間點的數據,因此需要將它們轉換為時間段的形式。由此,引入了氣溫上升幅度t 和耗電量增長率e。它們的計算方式如下:


而對于上下游產業的主要產品的產量數據,采取相同形式的數據處理方式,獲取產品產量的累計同比增加值。
2.3.2 數據集劃分
在訓練模型前,需要對數據集劃分,將數據集劃分為訓練集、驗證集、測試集。訓練集用于訓練模型參數;驗證集用于訓練模型的超參數;測試集用于評估模型的預測效果。在劃分數據集時,對數據集進行混洗,訓練集、驗證集、測試集的比例為8:1:1。
本節介紹的機器學習預測模型以BP 神經網絡為基礎。BP 神經網絡是通過誤差反向傳播算法訓練得到的多層前饋神經網絡,BP 神經網絡包括輸入層、隱含層、輸出層3 種組成,每一層有若干節點,通過誤差反向傳播算法,就可以訓練神經網絡,改變隱含層的狀態,從而影響輸入和輸出的關系,最小化神經網絡的預測值與實際值之間均方誤差。
通常認為,隱含層數的增加雖然可以降低均方誤差,提高預測精度,但也同時使得網絡結構復雜化,增加了網絡的訓練時間,提高了過擬合的風險。因此,在設計神經網絡時應優先考慮只含1 個隱層的3 層網絡,并適當增加隱層單元的數量,因此,本文采用不易過擬合的三層神經網絡結構。
在模型的訓練與測試中,需要設置損失函數,判定模型的預測效果。本文采用的損失函數為L1損失函數。L1損失是把預測值與目標值之間的絕對差值的總和最小化。


圖1 2013~2019黑色金屬冶煉和壓延加工業
本文實驗的硬件平臺為Intel(R)Core(TM)i5-8400 CPU@2.80GHz 2.81GHz、16GB 內存、1TB 硬盤以及Windows10 系統,軟件環境為Python3.7、Tensorf low。
模型的2 個隱藏層的神經元個數皆設為500,其他訓練參數如表2 所示。

表2 訓練參數
將數據集輸入到行業景氣指數預測模型中,并對不同的行業分別準備模型,然后進行訓練和測試,不同行業的模型在各個數據集上的L1損失如表3 所示,其中行業名為對應縮寫,5 個模型的平均L1損失均在可接受范圍內。

表3 不同行業的模型在各個數據集上的L1損失
以黑色金屬冶煉和壓延加工業為例,展示模型的擬合效果和行業的經濟趨勢,如圖1 所示。藍色線條是2013年—2019 年黑色金屬冶煉和壓延加工業每個月份的累計同比增長值增速,反映了行業的景氣程度,黃色線條是模型擬合得到的累計同比增長值增速,綠色線條是測試結果。在經過多輪迭代訓練之后,神經網絡獲得了一組表現較好的參數,使用訓練好的神經網絡對數據進行處理,就得到了圖中黃色線條所示的一組輸出值。從總體上看,該模型對經濟運行的趨勢有著較為準確的判斷。
本文利用機器學習方法進行行業電力大數據預測,從而對地方經濟產業結構和宏觀經濟走勢進行分析和預測。本文使用BP 神經網絡方法,挖掘耗電量數據、行業產值累計同比增加值增速數據、行業相關數據之間的潛在關系,從而預測行業景氣程度。實驗結果表明,基于BP 神經網絡的機器學習預測方法,可以擬合行業運行的趨勢,從而預判行業未來的發展趨勢。