



摘要:文章提出了在電力工程產品采購過程中運用一種基于提示的大語言模型(LLM)的時間序列預測方法(PromptCast),旨在解決產品采購過程中價格預估不準確,預測結果可解釋性不強等問題,和傳統時間序列預測方法相比,文章提出的方法避免了忽略價格背景信息和語義信息的不足。通過引入文本提示和采購領域知識圖譜,結合產品價格的數值數據,使模型能夠利用更多的信息源,提高預測的準確性。文章基于Bart和T5模型兩種Transformer架構模型進行提示設計,并結合關系圖卷積網絡(RGCN)提取采購領域知識圖譜的信息提升價格預測準確率。在工程材料價格數據集上的實驗顯示,文章提出的方法在兩個數據集上均優于傳統的基于Transformer的數值預測方法,尤其在融合文本提示信息后,顯著提升了預測的準確性。
關鍵詞:采購管理;造價管理;價格預測
工程建設過程中,材料的使用往往占據較大的成本,因此,通過對工程材料價格的準確預測,合理選擇采購時機和采購方式對于工程建設的成本控制至關重要。傳統的材料價格預測方法,只考慮有數字信息的時間序列數據,缺乏或未考慮大量的對于預測有幫助的背景信息和語義信息。在某產品的價格預測任務中,除了歷史價格以外,該產品的供應商、進貨時間、相關產品價格等因素均對預測價格的準確性有很大的影響。
時間序列預測是指利用歷史數據預測未來值的一種技術,它廣泛應用于金融、氣象、經濟等多個領域。時間序列通常由按時間順序排列的觀測值組成,這些值可能表現出某種規律性或趨勢性。通過對時間序列數據的分析和建模,預測未來的趨勢和變化。這種預測技術通常依賴于復雜的統計模型或深度學習模型,如ARIMA、LSTM、Transformer等,這些模型以數值數據為輸入,生成未來的數值預測。
然而,傳統時間序列預測方法往往局限于數值數據,而忽略了可能對預測有重要影響的背景信息和語義信息。為了解決這一局限性,基于提示的預測方法應運而生,即PromptCast。這種方法通過將自然語言提示作為輸入,結合數值數據進行預測,使得模型能夠利用更豐富的信息源進行預測,從而提高預測的準確性和應用廣度。基于提示的預測不僅擴展了時間序列預測的應用范圍,還為用戶提供了更具解釋性和決策支持的預測結果。
本文旨在運用一種可以考慮與價格相關的提示信息的價格時間序列預測方法,即PromptCast模型,再通過結合知識圖譜的方式引入更多、更準確的語義信息到時間序列預測過程中,讓預測的價格數值結果更加準確,同時帶有相關的提示語義信息,可以為用戶決策提供支撐。PromptCast為時間序列預測提供了一種“無代碼”的解決方案,不再僅僅依賴于設計越來越復雜的深度學習模型,而是為用戶提供了一種更為便捷和友好的工具。與現有的預測方法相比,PromptCast不僅降低了非研究人員用戶的使用門檻,還通過引入語義提示信息顯著提升了預測的準確性。
一、相關工作
時間序列預測是一個活躍的研究領域,特別是在深度學習模型的應用上有了顯著的進展,其中的LSTM(長短期記憶網絡)模型被廣泛應用于捕獲時間序列數據中的長期依賴關系。TCN(時間卷積網絡)通過并行計算和穩定的記憶能力在處理長序列上表現優異。此外,Transformer模型因其強大的建模能力和并行化處理能力,成為當前最先進的時間序列預測模型之一。
近年來,預訓練語言模型在自然語言處理(NLP)領域取得了巨大成功。這些模型通常經過大量數據的預訓練,能夠在多種下游任務中表現出色。BERT模型可以適應多個NLP任務,而CLIP和GLIP在計算機視覺任務中也表現優異。然而,這些模型的應用主要集中在NLP和計算機視覺領域,對于時間序列預測的研究相對較少。
現有的時間序列預測方法大多基于數值輸入和輸出的范式,包括基于Transformer的Informer、Autoformer和FEDformer等模型。這些模型在準確性和效率上都有顯著提升,但在處理多模態數據(如文本與時間序列結合)方面仍存在些許不足。PromptCast提出了一種新的時間序列預測范式,即基于提示的時間序列預測,這種方法將傳統的數值預測轉化為自然語言生成任務,利用語言生成模型進行時間序列的預測 。這種新的預測范式具有多方面的優勢。它為時間序列預測提供了一種“無代碼”的解決方案,降低了非研究人員的使用門檻。其次,它避免了設計復雜深度學習模型的需求,提供了新的視角和方法。PromptCast的提出為處理多模態數據這一問題提供了潛在的解決方案,通過將時間序列數據描述為自然語言句子,使得語言生成模型可以直接應用于時間序列預測任務。
二、基于提示工程的LLM時間序列預測模型(PromptCast)
大模型可以從時間序列數據中提取關鍵特征,整合來自不同數據源的信息,包括文本和圖像,從而提供更全面、更準確的時間序列預測。其中,由于LLMs原始文本數據與時間序列數據存在數值特性之間的差距,如何將時間序列數據輸入大模型就成為了實現LLMs在時間序列預測領域應用的關鍵性問題。
本文采用了一種新的時間序列預測方法,即基于提示的時間序列預測(PromptCast)。傳統的時間序列預測方法通常將數值序列作為輸入,并生成數值作為輸出。本文的方法則將輸入和輸出轉化為提示,并以句子對句子的方式進行預測,從而可以直接應用語言模型進行預測。本方法將原始的數值時間序列數據添加文本提示后,作為文本輸入到模型中,大語言模型則輸出針對這些數據的帶有文本提示的預測結果。在這個過程中,時間序列中的數字被當作文本內容處理,這就涉及如何對這些數字進行標記化(tokenize)的問題。為了在標記化過程中更清晰地區分數字,本方法在數字之間添加了符號,以確保數字可以被準確地識別和處理,避免了傳統詞典在數字區分上的不足。
為了驗證本文研究方法的科學性,本文還構建了一個小規模網購平臺商品歷史價格數據集,在本文中稱為ShopPrice,包含真實的價格預測場景。
(一)問題定義
在本研究中,我們的目標是預測電力工程中材料的價格,具體來說,我們希望通過引入與價格相關的提示信息,以提高預測的準確性。給定一個時間序列{O1,O2,…,ON},其中每個數據表示在時間步Oi的材料價格,我們的目標是預測未來的價格序列{ON+1,ON+2,…,ON+h},其中是h預測的時間步長,對于我們本研究的預測,取時間步長為1。
傳統的時間序列預測方法通常僅使用歷史價格數據進行預測,忽略了可能對價格波動產生影響的其他重要信息。為了解決這一問題,我們引入了自然語言提示信息{p1,p2,…,pM},這些提示信息可以包含與材料價格相關的背景信息,例如供應商的市場動態、季節性需求變化等。我們的目標是通過結合歷史價格數據和提示信息,預測未來的價格序列。
因此,我們的問題可以定義為:給定時間序列{O1,O2,…,ON}和{p1,p2,…,pM},學習一個映射函數f,使得
y^=f(O1,p1,O2,p2,…,xN,pM)
其中, y^=(O^N+1,O^N+2,…,O^N+h)是模型預測的未來價格序列。
(二)模型結構
如圖1所示,我們的模型分為以下四步。第一步,將原始數值時間序列數據與中文提示信息相結合,形成提示時間序列數據集。具體地,給定一個材料價格時間序列{O1,O2,…,ON}和相應的提示信息{p1,p2,…,pM},我們將二者結合為{S■■,…,S■■,S■■,…,S■■}。例如,電纜價格原始數字時間序列為“3.29、3.19、3.21、3.09、3.14、3.29…”表示t1時刻商品價格為9.51元,t2時刻價格為9.23元,以此類推。價格預測作為一個時間序列預測問題,我們假設已知t1-tn時刻的價格數值信息,預測tn+1時刻的價格數值。然而,這樣的數值時間序列丟失了很多對價格預測有意義的信息。例如產品的供應商、產品使用的區域、產品采購的具體時間(如:t1時刻對應6月,t2時刻對應8月等)、產品的關聯產品價格(如:電纜的關聯產品為銅,銅的價格上升則大概率電纜價格會上升)等“提示”信息。因此,我們借助工程材料價格知識圖譜(針對工程材料價格相關信息構成的知識圖譜:實體包括產品、供應商、地域、時間、價格等;關系包括生產、關聯、貨源等),構建原始價格數值時間序列的提示序列。通過引入文本提示,將原始數值時間序列轉換為文本描述。例如:將電纜價格數值時間序列“3.29、3.19、3.21、3.09、3.14、3.29…”轉換為提示時間序列為“商品 國標家用電纜線軟線”種類: 電纜, 品牌: 億宇, 型號:RVV,材質:銅包鋁,一月價格:3.29,二月價格:3.19,三月價格:3.21,四月價格:3.09,五月價格:3.14,六月價格:3.29…,請預測下個月的價格。生成提示時間序列后,可將其拆分為輸入提示序列和輸出提示序列,如該例子中,1~11月的數據和提示信息構成輸入提示時間序列,12月的數據和提示信息構成輸出提示時間序列。
第二步,對提示時間序列進行編碼。首先,使用相應的大語言模型(LLM)的tokenizer對輸入的帶文本提示的時間序列{S■■,…,S■■,S■■,…,S■■}進行編碼,生成提示的特征向量{v1,v2,…,vN}。同時,我們利用RGCN(關系圖卷積網絡)對工程材料價格知識圖譜進行編碼,生成知識圖譜的特征向量{g1,g2,…,gN}。
第三步,通過交叉注意力機制,將提示的特征向量與知識圖譜的特征向量進行關聯和融合,通過交叉注意力機制學習如何在提示信息和知識圖譜特征之間進行匹配與加權,從而得到融合后的特征表示{z1,z2,…,zN}。
第四步,將融合后的特征表示輸入解碼器,通過解碼器生成帶文本提示的預測輸出{S■■,…,S■■,S■■,…,S■■},然后再通過基于固定字符串格式切割的方法獲取預測結果y^=(O^N+1,O^N+2,…,O^N+h)。解碼器不僅輸出預測的價格序列,還可以生成與預測結果相關的解釋性文本提示,為用戶的決策提供參考。
(三)訓練損失
為了優化模型的預測性能,我們采用均方根誤差(RMSE)和平均絕對誤差(MAE)作為訓練損失函數。損失函數定義如下:
1. 均方根誤差(RMSE):
RMSE=■
其中,N表示預測的樣本數量,x^■和x■分別表示模型預測值和真實值。
2. 平均絕對誤差(MAE):
MAE=■■|x^■-x■|
MAE用于衡量預測值與真實值之間的絕對誤差,反映了模型的平均預測誤差。
通過最小化上述損失函數,我們可以優化模型的參數,使得預測的材料價格更接近于實際值,從而提高模型的預測準確性。
三、實驗
(一)數據集
為了驗證基于PromptCast方法在電力工程產品價格時序預測中的有效性,我們首先從多個購物網站爬取了包括變壓器、電纜、閥門(閘閥、蝶閥、球閥、截止閥)、水輪發電機、開關柜、電壓互感器、電流互感器、液壓工具和光伏組件九個品類的商品的相關數據,包括種類、品牌、商品名稱、歷史價格等相關數據。在對這些信息收集之后,對爬取的數據進行預處理,包括去除重復數據、處理缺失值和異常值等,以確保數據的質量和完整性。對于信息的存儲,則采用Neo4j構建知識圖譜。
在知識圖譜中,實體包括種類、品牌、商品名稱、型號、材質、銷量、銷售地區、優惠信息和上游產品。關系的構建則進一步豐富了圖譜的語義關聯性。如表1所示。
此外,還使用了一個公開的通用領域數據集m5-forecasting-accuracy進行實驗,該數據集則只包含商品的歷史價格信息,而沒有補充額外的文本描述信息,如品牌,材料等。
數據集的統計結果如表2所示。
(二)實驗設置
1. 評估指標
為了全面評估模型的預測性能,我們采用多種評估指標,包括以下幾點。
(1)均方誤差(Mean Squared Error,MSE):衡量預測值與實際值之間的平均平方差,MSE越小表示預測結果越接近實際值。
(2)平均絕對誤差(Mean Absolute Error,MAE):衡量預測值與實際值之間的平均絕對差,MAE越小表示預測結果越精確。
(3)缺失率:對于LLM的文本預測結果,本實驗采用簡單的基于固定字符串格式切割的方法獲取預測結果,若該方法未能正確切割出數值,則為缺失,缺失的預測數占總預測數的比例則為缺失率。
2. 基線模型
選取以下基線方法進行實現與對比分析:
(1)transformer:即基礎的基于transformer的時間序列預測方法。
(2)基礎prompt:即只采用將相應的文本信息融入prompt,采用相應的tokenizer對文本進行編碼輸入,而不采用RGCN結合知識圖譜信息。
3實驗結果
本實驗采用了Bart和T5兩種模型,分別采用基礎prompt和結合RGCN的方法進行實驗,表3和表4分別展示了本文所提出的方法在兩個數據集上的實驗效果。
經分析,本文所提的方法在同一數據集上的實驗結果都明顯優于采用transformer的基于數值預測的方法,而結合RGCN的方法則與基礎prompt的效果相差無幾,考慮到所構建的知識圖譜數據量不夠大,可能產生幻覺問題,誤差在考慮范圍內。而對于ShopPrice數據集上的測試結果,由于該數據集上商品價格波動較大,且訓練數據量較少,因此預測誤差大于m5-forecasting-accuracy數據集上的預測結果。
四、結論
本文研究表明,將文本提示信息與時間序列數據相結合,并利用大語言模型進行預測,是提升時間序列預測準確性的重要途徑。實驗結果表明,PromptCast模型在處理工程材料價格預測時,能夠有效地整合多種信息源,提高預測的準確性。雖然結合RGCN的效果與基礎Prompt方法相差無幾,但考慮到知識圖譜數據量的限制,這一誤差仍在可接受范圍內。未來的研究可以通過擴展知識圖譜數據量或優化提示信息生成方式,進一步提升模型的性能。
參考文獻:
[1]陳慶輝.面向時間序列預測的深度學習模型研究及應用[D].濟南:齊魯工業大學,2024.
[2]薛華.Salim F.D.Promptcast:一種新的基于提示的時間序列預測學習范式[R].IEEE知識與數據工程匯刊.2023.
[3]田園,孫夢覺,周植高,等.一種基于信息熵的LSTM時間序列數據預測模型[J].科技創新與應用,2024,14(07):28-34.
[4]夏雪,閆恩來,李喜武.Transformer在時間序列預測中的應用綜述[J].信息技術與信息化,2024(03):124-128.
[5]冷界霖.融合多模態數據的時間序列趨勢預測方法研究[D].濟南:山東財經大學,2023.
(作者單位:黃大恒、羅燁、趙文嬋、董彥云,國能大渡河流域水電開發有限公司;廖澤麗、陳鋒,重慶大司空信息科技有限公司)