基於卷積自動編解碼算法的氣象數據填補方法與流程
2023-06-25 07:07:31 2

本發明屬於計算機技術領域,更進一步涉及氣象數據處理技術領域中的一種基於卷積自動編解碼算法的氣象數據填補方法。本發明可以應用於氣象數據處理,氣象數據分析等具體應用場景,針對已有的氣象數據填補算法的局限性,根據多次學習氣象數據屬性特徵之間的相關性,對於缺失的氣象數據,填補其氣象數據值。
背景技術:
填充空缺值是由於數據缺失引起的方法。數據缺失是指在數據採集時由於某種原因應該得到而沒有得到的數據。它指的是現有數據集中某個或某些屬性的值是不完全的。在科學研究中,為了提高數據的可信度科學度,保證調查研究的順利進行,需要一些填充空缺值的方法來填充缺失數據。目前填充空缺值的方法主要包括人工填寫法、平均值填充法、熱卡填充法和多重填補法。其中人工填寫法費時費力,當缺失的數值很多時,使用這種方法是不可能的。平均值填充法和熱卡填充法主觀因素較多,準確性低。
國網山東省電力公司應急管理中心在其申請的專利「基於電網GIS的氣象數據調用與預處理方法及系統」(專利申請號:201410709084.6,申請公開號:CN104951857A)中提出了一種基於電網GIS的氣象數據處理方法及系統。該方法首先建立電網氣象資料庫,然後分別對電網GIS平臺採集的不同格式的氣象數據進行處理並存儲,再對存儲至電網氣象資料庫的數據進行分類預處理,之後進行數據緩存與調用。在對實時監測數據進行完整性檢查時,當出現數據缺失、錯誤等異常情況時,該方法調用當前無效時間點的上一時刻數據,採用向上追溯的方式進行填充處理。該方法優化了氣象數據在電網中的應用方法,為電力行業與氣象部門間的快速數據交互提供了基礎。但是,該方法仍然存在的不足之處是,對於缺失、錯誤等異常情況的處理方式過於簡單,並且填補的數據準確性低。
寧波綺耘軟體有限公司在其申請的專利「一種異常數據判定與處理方法及裝置」(專利申請號:201410504085.7,申請公開號:CN104281779A)中提出了一種異常數據判定與處理方法及裝置。該方法首先從原始氣象數據中提取與觀測點數據相關的數據塊,計算二者的數值變化,若不在預定範圍內,則觀測點數據為異常值,對異常值進行修正並輸出修正後的氣象數據。該方法對連續觀測的氣象數據中存在的不符合氣象數據變化規律的數據進行修正,從而減少突然增高或降低的異常數據對氣候特徵觀察的影響。但是,該方法仍然存在的不足之處是,判斷氣象數據是否異常時提取的數據塊範圍僅為1-3,選取的數據塊太少,數據的修正也僅是用不包括觀測點的數據塊的平均值來替換,修正的氣象屬性值只與同種屬性的屬性值有關,建立在完全隨機缺失的假設上,數據填充的精度不高,不能準確反映氣象數據的變化規律。
技術實現要素:
本發明的目的在於克服上述已有技術的不足,提出一種基於卷積自動編解碼算法的氣象數據填補方法,以提高氣象數據填補結果的精度。本發明利用卷積自動編碼和卷積自動解碼,在填補數據過程中學習周邊數據特徵的相關性,有效地克服了氣象數據填充的精度不高的問題。
實現本發明目的的具體思路是:首先是根據相鄰數據屬性之間的關係,進行數據預處理,然後再利用卷積自動編碼和卷積自動解碼等步驟,提取屬性特徵之間的複雜關係,對氣象數據進行填補,提高了算法的魯棒性和填補的精度,可用於高維數據的多個缺失值填補。
實現本發明目的的具體步驟如下:
(1)對氣象數據進行預處理:
(1a)用一個含有6個屬性值的一維數據,構建一個3×2二維矩陣;
(1b)用一個氣象數據文件中所有氣象數據構建一個四維矩陣;
(2)設置迭代次數:
設置最大迭代次數為1000,設置當前迭代次數為k,並初始化為1;
(3)對四維矩陣進行卷積自動編碼:
(3a)按照下式,用32個1×1卷積核w和偏移權重b卷積四維矩陣,分別提取氣象數據6個屬性值中每一個屬性值的數據特徵,得到32組6個屬性值的數據特徵:
Y=wX+b
其中,Y表示氣象數據6個屬性值中任意一個屬性值的數據特徵,w表示一個1×1的矩陣,X表示氣象數據6個屬性值中與Y對應的屬性值,b表示由隨機函數在(0,1)之間產生的一個隨機數;
(3b)按照下式,分別計算氣象數據32組6個屬性值中每一個屬性值的匹配特徵,得到32組6個屬性值的匹配特徵:
m=max(0,Y)
其中,m表示氣象數據6個屬性值中任意一個屬性值的匹配特徵,max表示取最大值操作,Y表示氣象數據6個屬性值中與m對應的屬性值的數據特徵;
(3c)對32組6個屬性值的匹配特徵中的每一組,將6個屬性值的前2個屬性值的匹配特徵,依次作為特徵匹配矩陣的第一行,將6個屬性值的中間2個值的匹配特徵,依次作為特徵匹配矩陣的第二行,將6個屬性值的後2個值的匹配特徵,依次作為特徵匹配矩陣的第三行,得到一個3×2的特徵匹配矩陣;
(3d)判斷是否完成32個3×2的特徵匹配矩陣的構建,若是,則執行步驟(3e),否則,執行步驟(3c);
(3e)按照下式,分別對32個3×2的特徵匹配矩陣中的每一個特徵匹配矩陣進行填充,得到32個5×5填充後的特徵匹配矩陣:
其中,Bij表示填充後的特徵匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特徵匹配矩陣中第i-1行第j-1列的元素值;
(3g)分別對32個5×5的填充後的特徵匹配矩陣進行大小為3×3的最大值形式的池化,步長為1,得到32個3×3的第一次編碼後的特徵匹配矩陣;
(4)對特徵匹配矩陣進行卷積自動編碼:
(4a)對32個3×3的第一次編碼後的特徵匹配矩陣中的每一個特徵匹配矩陣,利用卷積公式,分別更新一個3×3的第一次編碼後的特徵匹配矩陣中的每一個元素值,得到一個更新後的3×3的第一次編碼後的特徵匹配矩陣;
(4b)判斷是否完成32個3×3的第一次編碼後的特徵匹配矩陣的更新,若是,則執行步驟(4c),否則,執行步驟(4a);
(4c)按照下式,分別對32個3×3的更新後的第一次編碼後的特徵匹配矩陣進行填充,得到32個5×5的填充後的更新後的第一次編碼後的特徵匹配矩陣:
其中,Bij表示填充後的特徵匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特徵匹配矩陣中第i-1行第j-1列的元素值;
(4d)分別對32個5×5的填充後的更新後的第一次編碼後的特徵匹配矩陣進行大小為3×3的最大值形式的池化,步長為1,得到32個3×3的第二次編碼後的特徵匹配矩陣;
(5)對特徵匹配矩陣進行卷積自動編碼:
(5a)對32個3×3的第二次編碼後的特徵匹配矩陣中的每一個特徵匹配矩陣,利用卷積公式,分別更新一個3×3的第一次編碼後的特徵匹配矩陣中的每一個元素值,得到一個更新後的3×3的第二次編碼後的特徵匹配矩陣;
(5b)判斷是否完成32個3×3的第二次編碼後的特徵匹配矩陣的更新,若是,則執行步驟(5c),否則,執行步驟(5a);
(5c)按照下式,分別對32個3×3的更新後的第二次編碼後的特徵匹配矩陣進行填充,得到32個5×5的填充後的更新後的第二次編碼後的特徵匹配矩陣:
其中,Bij表示填充後的特徵匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特徵匹配矩陣中第i-1行第j-1列的元素值;
(5d)對32個5×5的填充後的更新後的第二次編碼後的特徵匹配矩陣進行大小為3×3的最大值形式的池化,步長為1,得到32個3×3的第三次編碼後的特徵匹配矩陣;
(6)對特徵匹配矩陣進行卷積自動解碼:
(6a)對32個3×3的第三次編碼後的特徵匹配矩陣中的每一個特徵匹配矩陣,利用卷積公式,分別更新一個3×3的第三次編碼後的特徵匹配矩陣中的每一個元素值,得到一個更新後的3×3的第三次編碼後的特徵匹配矩陣;
(6b)判斷是否完成32個3×3的第三次編碼後的特徵匹配矩陣的更新,若是,則執行步驟(6c),否則,執行步驟(6a);
(6c)按照下式,對32個更新後的3×3的第三次編碼後的特徵匹配矩陣中的每一個特徵匹配矩陣,分別修正一個更新後的3×3的第三次編碼後的特徵匹配矩陣中的每一個元素值:
p=max(0,Q)
其中,p表示修正後的更新後的3×3的第三次編碼後的特徵匹配矩陣中的任意一個元素值,max表示取最大值操作,Q表示更新後的3×3的第三次編碼後的特徵匹配矩陣中的與y對應的元素值;
(6d)判斷是否完成32個更新後的3×3的第三次編碼後的特徵匹配矩陣的修正,若是,則執行步驟(6e),否則,執行步驟(6c);
(6e)按照下式,分別對32個修正後的更新後的3×3的第三次編碼後的特徵匹配矩陣進行填充,得到32個5×5的填充後的修正後的更新後的第二次編碼後的特徵匹配矩陣:
其中,Bij表示填充後的特徵匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特徵匹配矩陣中第i-1行第j-1列的元素值;
(6f)對32個5×5的特徵匹配矩陣進行大小為3×4的最大值形式的池化,步長為1,得到32個3×2的第一次解碼後的特徵匹配矩陣;
(7)對特徵匹配矩陣進行卷積自動解碼:
(7a)對32個3×2的第一次解碼後的特徵匹配矩陣中的每一個特徵匹配矩陣,利用卷積公式,分別更新一個3×2的第一次解碼後的特徵匹配矩陣中的每一個元素值,得到一個更新後的3×2的第一次解碼後的特徵匹配矩陣;
(7b)判斷是否完成32個3×2的第一次解碼後的特徵匹配矩陣的更新,若是,則執行步驟(7c),否則,執行步驟(7a);
(7c)按照下式,分別對32個3×2的更新後的第一次解碼後的特徵匹配矩陣進行填充,得到32個5×5的填充後的更新後的第一次解碼後的特徵匹配矩陣:
其中,Bij表示填充後的特徵匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特徵匹配矩陣中第i-1行第j-1列的元素值;
(7d)對32個5×5的填充後的更新後的第一次解碼後的特徵匹配矩陣進行大小為3×4的最大值形式的池化,步長為1,得到32個3×2的第二次解碼後的特徵匹配矩陣;
(8)對特徵匹配矩陣進行卷積自動解碼:
(8a)對32個3×2的第二次解碼後的特徵匹配矩陣中的每一個特徵匹配矩陣,利用卷積公式,分別更新一個3×2的第二次解碼後的特徵匹配矩陣中的每一個元素值,得到一個更新後的3×2的第二次解碼後的特徵匹配矩陣;
(8b)判斷是否完成32個3×2的第二次解碼後的特徵匹配矩陣的更新,若是,則執行步驟(8c),否則,執行步驟(8a);
(8c)按照下式,分別對32個3×2的更新後的第二次解碼後的特徵匹配矩陣進行填充,得到32個5×5的填充後的更新後的第二次解碼後的特徵匹配矩陣:
其中,Bij表示填充後的特徵匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特徵匹配矩陣中第i-1行第j-1列的元素值;
(8d)對32個5×5的填充後的更新後的第二次解碼後的特徵匹配矩陣進行大小為3×4的最大值形式的池化,步長為1,得到32個3×2的第三次解碼後的特徵匹配矩陣;
(9)按照下式,對32個3×2的第三次解碼後的特徵匹配矩陣分別計算損失函數:
其中,Lrec(x)表示x對應的損失函數,||·||2表示求二範數操作,表示數據中缺失的部分,⊙表示數組元素依次相乘操作,x表示輸入的真實數據,F表示編碼過程;
(10)按照下式,利用梯度下降法更新卷積核w和偏移權重b:
其中,w1表示更新後的卷積核,w表示更新前的卷積核,α表示取值為0.1的學習速率,Lrec(x)表示損失函數,表示損失函數Lrec(x)在卷積核w處的偏導數,b1表示更新後的偏移權重,b表示更新前的偏移權重,α表示取值為0.1的學習速率,Lrec(x)表示損失函數,表示損失函數Lrec(x)在偏移權重b處的偏導數;
(11)判斷當前迭代次數k是否達到最大迭代次數,若是,則執行步驟(12),否則,將當前迭代次數k加1後,執行步驟(3);
(12)取32個3×2的第三次解碼後的特徵匹配矩陣中損失函數最小的特徵匹配矩陣,將32個3×2的第三次解碼後的特徵匹配矩陣中損失函數最小的特徵匹配矩陣的第一行的兩個元素值作為氣象數據6個屬性值中的大氣氣壓和幹球溫度,將32個3×2的第三次解碼後的特徵匹配矩陣中損失函數最小的特徵匹配矩陣的第二行的兩個元素值作為6個屬性值中的露點溫度和風速,將32個3×2的第三次解碼後的特徵匹配矩陣中損失函數最小的特徵匹配矩陣的第三行的兩個元素值作為6個屬性值中的風向和總雲量;
(13)完成氣象數據填補。
本發明與現有方法相比具有如下優點:
第1,由於本發明引入對氣象數據進行預處理,利用周邊數據特徵具有相關性的特點,將氣象數據構建成為一個四維矩陣,從而克服了現有技術對於缺失、錯誤等異常情況的處理方式過於簡單的問題,克服了填充的氣象屬性值只與同種屬性值有關的問題,使得本發明的缺值填充更靈活、準確度更高。
第2,由於本發明引入卷積自動編碼和卷積自動解碼,利用卷積自動編碼卷積自動解碼等步驟,提取氣象屬性特徵之間的複雜關係,得到較優的填充氣象數據的計算模型,從而克服了數據填補的精度不高的問題,使得本發明具有高魯棒性、高缺值填充準確度的優點。
附圖說明
圖1為本發明的流程圖;
圖2為本發明利用3×3的卷積核對5×5的矩陣進行卷積過程的示意圖;
圖3為本發明對5×5的矩陣進行大小為3×3的最大值形式的池化的過程的示意圖;
圖4為本發明對3×3的矩陣填充為5×5的矩陣的示意圖。
具體實施方式
下面結合附圖對本發明作進一步的詳細描述。
參照附圖1,對本發明實現的步驟作進一步的詳細描述。
步驟1,對氣象數據進行預處理。
第1步,用一個含有6個屬性值的一維數據,構建一個3×2二維矩陣。
所述的6個屬性值是指,大氣氣壓,幹球溫度,露點溫度,風速,風向,總雲量。
所述的3×2二維矩陣的構建方式為,將6個屬性值的前2個值依次作為二維矩陣的第一行,將6個屬性值的中間2個值依次作為二維矩陣的第二行,將6個屬性值的後2個值依次作為二維矩陣的第三行,若有空缺值,用1填補。
第2步,用一個氣象數據文件中所有氣象數據構建一個四維矩陣。
所述四維矩陣的構建方式為,將一個文件中的所有氣候數據所在的行數作為四維矩陣的第一維,第二維取1,將二維矩陣中的元素值作為四維矩陣的後兩維。
步驟2,設置迭代次數。
設置最大迭代次數為1000,設置當前迭代次數為k,並初始化為1。
步驟3,對四維矩陣進行卷積自動編碼。
第1步,按照下式,用32個1×1卷積核w和偏移權重b卷積四維矩陣,分別提取氣象數據6個屬性值中每一個屬性值的數據特徵,得到32組6個屬性值的數據特徵:
Y=wX+b
其中,Y表示氣象數據6個屬性值中任意一個屬性值的數據特徵,w表示一個1×1的矩陣,X表示氣象數據6個屬性值中與Y對應的屬性值,b表示由隨機函數在(0,1)之間產生的一個隨機數。
第2步,按照下式,分別計算氣象數據32組6個屬性值中每一個屬性值的匹配特徵,得到32組6個屬性值的匹配特徵:
m=max(0,Y)
其中,m表示氣象數據6個屬性值中任意一個屬性值的匹配特徵,max表示取最大值操作,Y表示氣象數據6個屬性值中與m對應的屬性值的數據特徵。
第3步,對32組6個屬性值的匹配特徵中的每一組,將6個屬性值的前2個屬性值的匹配特徵,依次作為特徵匹配矩陣的第一行,將6個屬性值的中間2個值的匹配特徵,依次作為特徵匹配矩陣的第二行,將6個屬性值的後2個值的匹配特徵,依次作為特徵匹配矩陣的第三行,得到一個3×2的特徵匹配矩陣。
第4步,判斷是否完成32個3×2的特徵匹配矩陣的構建,若是,則執行本步驟的第5步,否則,執行本步驟的第3步。
第5步,按照下式,分別對32個3×2的特徵匹配矩陣中的每一個特徵匹配矩陣進行填充,得到32個5×5填充後的特徵匹配矩陣:
其中,Bij表示填充後的特徵匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特徵匹配矩陣中第i-1行第j-1列的元素值。
第6步,分別對32個5×5的填充後的特徵匹配矩陣進行大小為3×3的最大值形式的池化,步長為1,得到32個3×3的第一次編碼後的特徵匹配矩陣。
步驟4,對特徵匹配矩陣進行卷積自動編碼。
第1步,對32個3×3的第一次編碼後的特徵匹配矩陣中的每一個特徵匹配矩陣,利用卷積公式,分別更新一個3×3的第一次編碼後的特徵匹配矩陣中的每一個元素值,得到一個更新後的3×3的第一次編碼後的特徵匹配矩陣。
所述的卷積公式如下:
Mij=wxst+b
其中,Mij表示更新後的特徵匹配矩陣中第i行第j列的元素值,w表示一個1×1的矩陣,xst表示更新前的特徵匹配矩陣中第s行第t列的元素值,i和s取相同的值,j和t取相同的值,b表示由隨機函數在(0,1)之間產生的一個隨機數。
第2步,判斷是否完成32個3×3的第一次編碼後的特徵匹配矩陣的更新,若是,則執行本步驟的第3步,否則,執行本步驟的第1步。
第3步,按照下式,分別對32個3×3的更新後的第一次編碼後的特徵匹配矩陣進行填充,得到32個5×5的填充後的更新後的第一次編碼後的特徵匹配矩陣:
其中,Bij表示填充後的特徵匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特徵匹配矩陣中第i-1行第j-1列的元素值。
第4步,分別對32個5×5的填充後的更新後的第一次編碼後的特徵匹配矩陣進行大小為3×3的最大值形式的池化,步長為1,得到32個3×3的第二次編碼後的特徵匹配矩陣。
步驟5,對特徵匹配矩陣進行卷積自動編碼。
第1步,對32個3×3的第二次編碼後的特徵匹配矩陣中的每一個特徵匹配矩陣,利用卷積公式,分別更新一個3×3的第一次編碼後的特徵匹配矩陣中的每一個元素值,得到一個更新後的3×3的第二次編碼後的特徵匹配矩陣。
所述的卷積公式如下:
Mij=wxst+b
其中,Mij表示更新後的特徵匹配矩陣中第i行第j列的元素值,w表示一個1×1的矩陣,xst表示更新前的特徵匹配矩陣中第s行第t列的元素值,i和s取相同的值,j和t取相同的值,b表示由隨機函數在(0,1)之間產生的一個隨機數。
第2步,判斷是否完成32個3×3的第二次編碼後的特徵匹配矩陣的更新,若是,則執行本步驟的第3步,否則,執行本步驟的第1步。
第3步,按照下式,分別對32個3×3的更新後的第二次編碼後的特徵匹配矩陣進行填充,得到32個5×5的填充後的更新後的第二次編碼後的特徵匹配矩陣:
其中,Bij表示填充後的特徵匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特徵匹配矩陣中第i-1行第j-1列的元素值。
第4步,對32個5×5的填充後的更新後的第二次編碼後的特徵匹配矩陣進行大小為3×3的最大值形式的池化,步長為1,得到32個3×3的第三次編碼後的特徵匹配矩陣。
步驟6,對特徵匹配矩陣進行卷積自動解碼。
第1步,對32個3×3的第三次編碼後的特徵匹配矩陣中的每一個特徵匹配矩陣,利用卷積公式,分別更新一個3×3的第三次編碼後的特徵匹配矩陣中的每一個元素值,得到一個更新後的3×3的第三次編碼後的特徵匹配矩陣。
所述的卷積公式如下:
Mij=wxst+b
其中,Mij表示更新後的特徵匹配矩陣中第i行第j列的元素值,w表示一個1×1的矩陣,xst表示更新前的特徵匹配矩陣中第s行第t列的元素值,i和s取相同的值,j和t取相同的值,b表示由隨機函數在(0,1)之間產生的一個隨機數。
第2步,判斷是否完成32個3×3的第三次編碼後的特徵匹配矩陣的更新,若是,則執行本步驟的第3步,否則,執行本步驟的第1步。
第3步,按照下式,對32個更新後的3×3的第三次編碼後的特徵匹配矩陣中的每一個特徵匹配矩陣,分別修正一個更新後的3×3的第三次編碼後的特徵匹配矩陣中的每一個元素值:
p=max(0,Q)
其中,p表示修正後的更新後的3×3的第三次編碼後的特徵匹配矩陣中的任意一個元素值,max表示取最大值操作,Q表示更新後的3×3的第三次編碼後的特徵匹配矩陣中的與y對應的元素值。
第4步,判斷是否完成32個更新後的3×3的第三次編碼後的特徵匹配矩陣的修正,若是,則執行本步驟的第5步,否則,執行本步驟的第3步。
第5步,按照下式,分別對32個修正後的更新後的3×3的第三次編碼後的特徵匹配矩陣進行填充,得到32個5×5的填充後的修正後的更新後的第二次編碼後的特徵匹配矩陣:
其中,Bij表示填充後的特徵匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特徵匹配矩陣中第i-1行第j-1列的元素值。
第6步,對32個5×5的特徵匹配矩陣進行大小為3×4的最大值形式的池化,步長為1,得到32個3×2的第一次解碼後的特徵匹配矩陣。
步驟7,對特徵匹配矩陣進行卷積自動解碼。
第1步,對32個3×2的第一次解碼後的特徵匹配矩陣中的每一個特徵匹配矩陣,利用卷積公式,分別更新一個3×2的第一次解碼後的特徵匹配矩陣中的每一個元素值,得到一個更新後的3×2的第一次解碼後的特徵匹配矩陣。
所述的卷積公式如下:
Mij=wxst+b
其中,Mij表示更新後的特徵匹配矩陣中第i行第j列的元素值,w表示一個1×1的矩陣,xst表示更新前的特徵匹配矩陣中第s行第t列的元素值,i和s取相同的值,j和t取相同的值,b表示由隨機函數在(0,1)之間產生的一個隨機數。
第2步,判斷是否完成32個3×2的第一次解碼後的特徵匹配矩陣的更新,若是,則執行本步驟的第3步,否則,執行本步驟的第1步。
第3步,按照下式,分別對32個3×2的更新後的第一次解碼後的特徵匹配矩陣進行填充,得到32個5×5的填充後的更新後的第一次解碼後的特徵匹配矩陣:
其中,Bij表示填充後的特徵匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特徵匹配矩陣中第i-1行第j-1列的元素值。
第4步,對32個5×5的填充後的更新後的第一次解碼後的特徵匹配矩陣進行大小為3×4的最大值形式的池化,步長為1,得到32個3×2的第二次解碼後的特徵匹配矩陣。
步驟8,對特徵匹配矩陣進行卷積自動解碼。
第1步,對32個3×2的第二次解碼後的特徵匹配矩陣中的每一個特徵匹配矩陣,利用卷積公式,分別更新一個3×2的第二次解碼後的特徵匹配矩陣中的每一個元素值,得到一個更新後的3×2的第二次解碼後的特徵匹配矩陣。
所述的卷積公式如下:
Mij=wxst+b
其中,Mij表示更新後的特徵匹配矩陣中第i行第j列的元素值,w表示一個1×1的矩陣,xst表示更新前的特徵匹配矩陣中第s行第t列的元素值,i和s取相同的值,j和t取相同的值,b表示由隨機函數在(0,1)之間產生的一個隨機數。
第2步,判斷是否完成32個3×2的第二次解碼後的特徵匹配矩陣的更新,若是,則執行本步驟的第3步,否則,執行本步驟的第1步。
第3步,按照下式,分別對32個3×2的更新後的第二次解碼後的特徵匹配矩陣進行填充,得到32個5×5的填充後的更新後的第二次解碼後的特徵匹配矩陣:
其中,Bij表示填充後的特徵匹配矩陣中第i行第j列的元素值,Ai-1,j-1表示填充前的特徵匹配矩陣中第i-1行第j-1列的元素值。
第4步,對32個5×5的填充後的更新後的第二次解碼後的特徵匹配矩陣進行大小為3×4的最大值形式的池化,步長為1,得到32個3×2的第三次解碼後的特徵匹配矩陣。
步驟9,按照下式,對32個3×2的第三次解碼後的特徵匹配矩陣分別計算損失函數:
其中,Lrec(x)表示x對應的損失函數,||·||2表示求二範數操作,表示數據中缺失的部分,⊙表示數組元素依次相乘操作,x表示輸入的真實數據,F表示編碼過程。
步驟10,按照下式,利用梯度下降法更新卷積核w和偏移權重b:
其中,w1表示更新後的卷積核,w表示更新前的卷積核,α表示取值為0.1的學習速率,Lrec(x)表示損失函數,表示損失函數Lrec(x)在卷積核w處的偏導數,b1表示更新後的偏移權重,b表示更新前的偏移權重,α表示取值為0.1的學習速率,Lrec(x)表示損失函數,表示損失函數Lrec(x)在偏移權重b處的偏導數。
步驟11,判斷當前迭代次數k是否達到最大迭代次數,若是,則執行步驟12,否則,將當前迭代次數k加1後,執行步驟3。
步驟12,取32個3×2的第三次解碼後的特徵匹配矩陣中損失函數最小的特徵匹配矩陣,將32個3×2的第三次解碼後的特徵匹配矩陣中損失函數最小的特徵匹配矩陣的第一行的兩個元素值作為氣象數據6個屬性值中的大氣氣壓和幹球溫度,將32個3×2的第三次解碼後的特徵匹配矩陣中損失函數最小的特徵匹配矩陣的第二行的兩個元素值作為6個屬性值中的露點溫度和風速,將32個3×2的第三次解碼後的特徵匹配矩陣中損失函數最小的特徵匹配矩陣的第三行的兩個元素值作為6個屬性值中的風向和總雲量。
步驟13,完成氣象數據填補。
下面結合附圖2,對本發明利用3×3的卷積核對5×5的矩陣進行卷積的過程作進一步的詳細描述。
圖2中,對於一個5×5的輸入矩陣,利用3×3的卷積核,卷積生成3×3的特徵匹配矩陣。其中,圖2(a)表示一個5×5的輸入矩陣,陰影部分的下標構成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應的下標值分別相乘然後再將乘積相加即得到圖2(b)所示特徵匹配矩陣中第一行第一列的元素值。圖2(c)表示一個5×5的輸入矩陣,陰影部分的下標構成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應的下標值分別相乘然後再將乘積相加即得到圖2(d)所示特徵匹配矩陣中第一行第二列的元素值。圖2(e)表示一個5×5的輸入矩陣,陰影部分的下標構成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應的下標值分別相乘然後再將乘積相加即得到圖2(f)所示特徵匹配矩陣中第一行第三列的元素值。圖2(g)表示一個5×5的輸入矩陣,陰影部分的下標構成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應的下標值分別相乘然後再將乘積相加即得到圖2(h)所示特徵匹配矩陣中第二行第一列的元素值。圖2(i)表示一個5×5的輸入矩陣,陰影部分的下標構成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應的下標值分別相乘然後再將乘積相加即得到圖2(j)所示特徵匹配矩陣中第二行第二列的元素值。圖2(k)表示一個5×5的輸入矩陣,陰影部分的下標構成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應的下標值分別相乘然後再將乘積相加即得到圖2(l)所示特徵匹配矩陣中第二行第三列的元素值。圖2(m)表示一個5×5的輸入矩陣,陰影部分的下標構成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應的下標值分別相乘然後再將乘積相加即得到圖2(n)所示特徵匹配矩陣中第三行第一列的元素值。圖2(o)表示一個5×5的輸入矩陣,陰影部分的下標構成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應的下標值分別相乘然後再將乘積相加即得到圖2(p)所示特徵匹配矩陣中第三行第二列的元素值。圖2(q)表示一個5×5的輸入矩陣,陰影部分的下標構成3×3的卷積核,將陰影部分的輸入矩陣元素值與其對應的下標值分別相乘然後再將乘積相加即得到圖2(r)所示特徵匹配矩陣中第三行第三列的元素值。
參照附圖3,對本發明對5×5的矩陣進行大小為3×3的最大值形式的池化的過程作進一步的詳細描述。
圖3中,對5×5的輸入矩陣,進行大小為3×3的最大池操作,步長為1。最大池操作包括將輸入分裂成小塊並且輸出每一塊的最大值。其中,圖3(a)表示一個5×5的輸入矩陣,陰影部分表示進行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(b)所示特徵匹配矩陣中第一行第一列的元素值。圖3(c)表示一個5×5的輸入矩陣,陰影部分表示進行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(d)所示特徵匹配矩陣中第一行第二列的元素值。圖3(e)表示一個5×5的輸入矩陣,陰影部分表示進行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(f)所示特徵匹配矩陣中第一行第三列的元素值。圖3(g)表示一個5×5的輸入矩陣,陰影部分表示進行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(h)所示特徵匹配矩陣中第二行第一列的元素值。圖3(i)表示一個5×5的輸入矩陣,陰影部分表示進行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(j)所示特徵匹配矩陣中第二行第二列的元素值。圖3(k)表示一個5×5的輸入矩陣,陰影部分表示進行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(l)所示特徵匹配矩陣中第二行第三列的元素值。圖3(m)表示一個5×5的輸入矩陣,陰影部分表示進行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(n)所示特徵匹配矩陣中第三行第一列的元素值。圖3(o)表示一個5×5的輸入矩陣,陰影部分表示進行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(p)所示特徵匹配矩陣中第三行第二列的元素值。圖3(q)表示一個5×5的輸入矩陣,陰影部分表示進行最大值形式池化的模塊,取陰影部分矩陣元素值的最大值即得到圖3(r)所示特徵匹配矩陣中第三行第三列的元素值。
參照附圖4,對本發明實現填充的過程作進一步的詳細描述。
圖4中,將3×3的輸入矩陣,填充為為5×5的輸出矩陣。其中,圖4(a)表示一個3×3的輸入矩陣,圖4(b)表示一個5×5的輸出矩陣,圖4(b)中第一行,第五行,第一列和第五列的元素值均為0。圖4(b)中第二行第二列的元素值等於圖4(a)中第一行第一列的元素值。圖4(b)中第二行第三列的元素值等於圖4(a)中第一行第二列的元素值。圖4(b)中第二行第四列的元素值等於圖4(a)中第一行第三列的元素值。圖4(b)中第三行第二列的元素值等於圖4(a)中第二行第一列的元素值。圖4(b)中第三行第三列的元素值等於圖4(a)中第二行第二列的元素值。圖4(b)中第三行第四列的元素值等於圖4(a)中第二行第三列的元素值。圖4(b)中第四行第二列的元素值等於圖4(a)中第三行第一列的元素值。圖4(b)中第四行第三列的元素值等於圖4(a)中第三行第二列的元素值。圖4(b)中第四行第四列的元素值等於圖4(a)中第三行第三列的元素值。