最近這兩天寒潮來襲,需要避幾天風。剛好研究一下GPS反演潮位修復 *** 。這個問題來源于,我們使用TerraPos軟件解算GNSS和Motion Sensor數據進行 GPS潮位反演曲線的結果如下:
而正常實測的潮位曲線是這樣的,類似于一個正弦曲線
不知道有沒有小伙伴干過這個事情。之前在博客園看到一個時間分段算法的綜述,看樣子好像是用來做股票分段分析。這篇 文章在博主的CSDN主頁已經轉載分享了。但是,它里面沒有具體的算法描述,先百度了一下,結果全是首字母簡寫名稱的算法,還有什么深度學習啥的,直接就懵逼了,看不懂,不知道說了什么。于是,只能去搜相關文獻。
添加微信好友, 獲取更多信息
復制微信號
上面那個反演的潮位曲線是船舶靠泊在碼頭上,基本沒有異常,解算了某天在海上航行期間的GPS反演曲線如下:
曲線有大量異常存在,需要首先剔除異常,然后進行分段修復。同時刻的NavCom單GPS數據的曲線如下:
是不是發現單GPS解算的反演潮位比聯合GPS和姿態解算的效果好?博主也非常詫異,仔細一想,就知道為什么了,這是一條5000噸的大船,航行期間海況非常好,姿態對于高度影響比較小。博主計算了一下,GPS離船舶中心高度為10m,當橫搖角度為10度,高度差為0.15m,差別還是挺大的。
因此,為了修復GPS反演潮位曲線,需要解決兩個問題,(1)異常剔除問題,(2)曲線分段問題
在山東大學展鵬的博士論文《基于時間序列挖掘的異常檢測關鍵技術研究》,系統講了時間序列異常檢測和分段的 *** 。
就時間序列數據來講,可以根據是否有標簽來將異常檢測的 *** 分為三種模式:監督式異常檢測、半監督式異常檢測以及非監督式異常檢測。
(1)監督式異常檢測
監督式異常檢測技術需要有一組時間序列訓練數據集,在這組數據集中明確的標注了每條時間序列的標簽或類別,“正常”或“異常”。基于訓練數據集來構建異常檢測模型。最后,利用此模型來判斷待檢測時間序列是正常或異常的。監督式異常檢測 *** 主要面臨兩個問題,其一是在訓練數據中,相對于正常時間序列來講,異常的數據量太小,會對檢測效果產生影響;其二實際操作中很難精確地標注數據是正常或異常,而且異常的情況也難以全部覆蓋。
(2)半監督式異常檢測
與監督式異常檢測相同,半監督式異常檢測也需要一組時間序列訓練數據集。與之不同的是,此訓練數據集中僅需包含正常的時間序列。半監督式異常檢測技術的一種典型 *** 是基于訓練數據集為正常時間序列數據建立模型,然后利用該模型識別待檢測數據中的異常。由于訓練中不需要標注異常序列,半監督式異常檢測 *** 的應用相對更廣泛。
(3)非監督式異常檢測
相對于以上兩種異常檢測技術,非監督式異常檢測不需要訓練數據集。此類技術的核心思想在于異常的情況相對于正常的情況而言是很少的,且其與正常情況存在較大的差異,這種差異可以體現在數據之間的距離遠近、分布密度、偏離程度等方面。結合實際應用領域與時間序列的特征可知,精確標注正常或異常時間序列的可操作性是難以保證的,這主要由于不同領域時間序列數據的波動頻率、幅度、周期等有所不同,且隨著時間的推移和技術的改進,時間序列的特征是會變化的。因此,非監督式異常檢測技術具有重要的研究價值和廣闊的應用前景。
有了展博士高屋建瓴的概況和總結,再看文獻,就可以對文獻的算法進行歸類,就不會那么手足無措了。即便如此,也只找到了2篇勉強可以看懂的論文。
基于柯西分布的水文序列異常值檢測 *** _高熠飛,主要將異常檢測,滑窗算法+柯西分布。
基于時間序列波動性的分段線性表示 *** _李穎,主要將線性分段問題。
這兩個 *** 都是改進的局部算法,目前就打算利用這兩篇論文進行嘗試GPS反演潮位修復。