System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于多元時間序列數據缺失值填補領域,具體涉及一種基于擴散模型的時間序列缺失值填補方法及系統。
技術介紹
1、多元時間序列數據廣泛存在于金融、醫療和交通等各種實際領域中。然而由于人為的錯誤或信號傳輸問題,時間序列數據通常會包含缺失值。這些缺失值會對時間序列預測等下游任務產生不利影響,因此如何利用可觀測數據填補缺失值成為了當前研究的一個重要方向。
2、隨著深度學習技術的不斷發展,人們使用循環神經網絡(recurrent?neuralnetwork,rnn)和生成對抗網絡(generative?adversarial?network,gan)等深度學習模型來填補缺失的數據。然而這些模型在面對復雜的、非平穩的多變量時序數據時,填補性能表現的較差。擴散模型作為一種新興的基于概率的深度學習生成模型,可以更好的處理非平穩和噪聲較多的時序數據。擴散模型在正向過程中不斷向數據中添加不同等級的噪聲,然后又在反向過程逐步去除所添加的噪聲來學習數據的分布。然而擴散模型通常要往數據中添加數百個不同等級的噪聲,不同等級的噪聲優化方向各不相同并且它們對模型填補效果的影響也不同,因此如果在模型學習過程中對所有噪聲賦予同樣的學習權重,就會導致模型最后的效果并非最佳。現有的噪聲權重算法都是手動設置固定的噪聲權重,這些算法缺乏靈活性,需要較高的專家知識來調整權重,而且難以適應不同的數據集。
技術實現思路
1、本專利技術的目的在于,提供一種基于擴散模型的時間序列缺失值填補方法及系統,以解決現有的噪聲
2、為了實現上述目的,本專利技術采用如下技術方案予以實現:
3、一方面,本專利技術提供了一種基于擴散模型的時間序列缺失值填補方法,具體包括以下步驟:
4、步驟1,數據處理:將時間序列數據集劃分訓練集、驗證集和測試集,對每一部分中的每條時間序列數據進行數據處理,得到每條時間序列數據對應的01掩碼矩陣,以及要填補的目標和可觀測到的時間序列數據。
5、步驟1具體包括如下子步驟:
6、步驟11,給定一個時間序列數據集,表示其中的一條時間序列數據,其中k、l分別表示時間序列數據的通道數、長度。將時間序列數據集按照一定比例劃分訓練集、驗證集和測試集三部分;
7、步驟12,對于每一部分中的每條時間序列數據 x,根據缺失值所在位置構造與該時間序列數據 x形狀相同的01掩碼矩陣,01掩碼矩陣中的0表示該位置為缺失值、1表示該位置的值可被觀察到,表示在時間序列數據中可被觀察到的值;
8、步驟13,為了方便模型的訓練和評估,根據01掩碼矩陣,采用預設的缺失模式和缺失率,在時間序列數據中添加新的缺失值,并記錄缺失值所在的位置為01掩碼矩陣;
9、步驟14,將和分別與時間序列數據進行矩陣哈達瑪積運算,得到要填補的目標和可觀測到的時間序列數據。
10、步驟2,訓練過程,得到訓練好的去噪網絡,包括如下子步驟:
11、步驟21,前向加噪:
12、向可觀測到的時間序列數據中依次添加t步噪聲,每一步添加的噪聲等級不同,構造出噪聲加噪序列,表示為,其中為第 t步加噪后得到的時間序列數據。當添加噪聲的步數t趨于無窮大時,將趨近于正態高斯噪聲。雖然增大t的值在訓練過程中能夠帶來一定的性能提升,但是模型訓練時間和計算代價也會增加,為了平衡收益與代價,在本實施例中t設置為50。
13、步驟?22,反向去噪:
14、在反向去噪階段,從步驟21得到的時間序列數據開始,逐步去除前向加噪過程中對應添加的噪聲,得到每一步去除噪聲后的時間序列數據。整個反向去噪的過程為,其中表示第t步去噪后得到的時間序列數據,最后輸出時間序列數據,作為填補的時間序列數據。其中,的具體操作是:將第t步去噪得到的時間序列數據、條件信息cond和當前去噪的步數t共同輸入去噪網絡,得到第t步的噪聲預測結果(簡寫為),其中t∈1~t;然后計算。
15、通過將第t步優化噪聲預測結果與真實添加的噪聲間的損失函數值進行迭代訓練,訓練結束后得到訓練完成的去噪網絡。
16、具體的,訓練過程中所需要優化的損失函數如下:
17、
18、其中:
19、—損失函數。
20、—數學期望。
21、—時間序列數據符合的數據分布;
22、—加噪過程中時間序列數據的數據分布;
23、—真實添加的噪聲符合的數據分布;
24、—第t步噪聲的權重矩陣,初始值為1。
25、作為本專利技術的一種優選實施方式,由于在去噪過程中,存在t步不同等級的噪聲這些噪聲對填補性能的影響各不相同。本專利技術中將損失函數中t個不同等級的噪聲學習視為t個優化任務,并通過對這些優化任務賦予不同的權重,使模型更加注重學習對填補效果影響較大的噪聲。自適應噪聲權重優化策略如下所示:
26、在模型訓練過程中引入自適應噪聲權重優化策略。具體來說是通過對噪聲學習的難度來讓去噪網絡自己分配權重,越難學習的噪聲被認為越重要,需要分配更高的權重。由于驗證集可以初步評估網絡模型在未知數據集上的性能表現,使用去噪網絡在驗證集的學習效果來評估噪聲的學習難度。具體來說,在模型訓練過程中,采用下面第一個公式設置第i個epoch時第t個時間步學習的難度,采用下面第二個公式設置在第i個epoch時第t個時間步的權重:
27、
28、
29、其中:
30、—去噪網絡在驗證集的第i-1個epoch的第 t個時間步的損失函數值;
31、—去噪網絡在驗證集的第i-2個epoch的第 t個時間步的損失函數值;
32、第i個epoch時第t個時間步的權重,在訓練集的訓練過程中,每隔k個epoch采用更新一次,本實施例中k=4。在驗證集的損失函數計算中,始終為1。
33、—驗證集中連續兩個epoch的第t個時間步損失函數值的比值,如果比值呈下降趨勢,則表明第t個時間步損失下降較快,學習較為容易,應該賦予較小的權重。反之,如果呈上升趨勢,則表明學習較為困難,需要賦予更大的權重;
34、—調節參數,用于調節不同時間步噪聲學習的差異,越大,不同噪聲任務之間的權重分布將更為均勻。當足夠大時,所有時間步噪聲的權重將相等。在本專利技術中設置為1.5;
35、—權重歸一化參數,確保所有噪聲學習任務的權重之和等于,因為在本專利技術中設置t為50,所以有50個噪聲學習任務,初始時每個噪聲任務權重為1,所以設置為50。
...【技術保護點】
1.一種基于擴散模型的時間序列缺失值填補方法,其特征在于,具體包括以下步驟:
2.如權利要求1所述的基于擴散模型的時間序列缺失值填補方法,其特征在于,步驟1具體包括如下子步驟:
3.如權利要求1所述的基于擴散模型的時間序列缺失值填補方法,其特征在于,步驟21中,T設置為50。
4.如權利要求1所述的基于擴散模型的時間序列缺失值填補方法,其特征在于,步驟22中,所述條件信息Cond由01掩碼矩陣、擴散時間編碼、時間位置編碼和特征編碼組成。
5.如權利要求1所述的基于擴散模型的時間序列缺失值填補方法,其特征在于,步驟22中,在模型訓練過程中,采用下面第一個公式設置第i個epoch時第t個時間步學習的難度,采用下面第二個公式設置在第i個epoch時第t個時間步的權重:
6.一種基于擴散模型的時間序列缺失值填補系統,其特征在于,具體包括以下模塊:
7.一種計算機可讀存儲介質,其特征在于,計算機可讀存儲介質存儲有計算機程序,計算機程序被處理器執行時,實現權利要求1~5任一項所述的基于擴散模型的時間序列缺失值填補方法。<
...【技術特征摘要】
1.一種基于擴散模型的時間序列缺失值填補方法,其特征在于,具體包括以下步驟:
2.如權利要求1所述的基于擴散模型的時間序列缺失值填補方法,其特征在于,步驟1具體包括如下子步驟:
3.如權利要求1所述的基于擴散模型的時間序列缺失值填補方法,其特征在于,步驟21中,t設置為50。
4.如權利要求1所述的基于擴散模型的時間序列缺失值填補方法,其特征在于,步驟22中,所述條件信息cond由01掩碼矩陣、擴散時間編碼、時間位置編碼和特征編碼組成。
5.如權利要求1所述的基于擴散模型的時間序列缺失值填補方法,其特征在于,步驟22中,在模型訓...
【專利技術屬性】
技術研發人員:肖云,呂昊,華邦慶,王寧,張曉榮,程天順,房鼎益,陳曉江,
申請(專利權)人:西北大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。