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