多範式數據科學的應用:ThrustSSC超音速汽車工程

本文譯自Wolfram技術溝通與戰略總監Jon McLoone於2018年9月11日的博客文章:Thrust Supersonic Car Engineering Insights: Applying Multiparadigm Data Science。

在數據面前,擁有一套功能博大的工具集和一個開放的頭腦往往可以幫助我們洞悉僅通過統計分析或機器學習的鏡頭所不能看到的情況。 這在我們 Wolfram Research 稱爲多範式數據科學。我將在這裏展示它在超音速汽車工程領域進行的一項小型探索,看它能給我們帶來怎樣的有趣發現,其中將綜合運用到微積分、圖論、信號處理、優化和統計學等多門學科。

故事開始於與Bloodhound團隊關於數據的一場對話。該團隊試圖創造一輛時速1000英里的汽車。我提議先花一兩個小時查看一些樣本數據,以便他們瞭解可能需要做些什麼。他們發給我一個奇怪的二進制文件,其中含有來自ThrustSSC汽車(當前世界陸地速度記錄的保持者)單次亞音速運行的32個傳感器所記錄的輸出。

數據導入

我做的第一件事就是將我所得到的通道名稱和描述信息進行編碼,以便我可以輕鬆查詢:

然後開始解碼文件。沒有人建議我該採用什麼格式,所以我首先做的就是讓文件通過200多個全自動導入過濾器:

由於導入命令Import是自動執行的,只需要幾分鐘時間就將候選格式的範圍縮小。 因爲知道有通道並且會對每次導入和轉換的結果重複可視化,以判斷是否看起來像真實世界的數據,我很快就發現以下情況:

這32個視圖是全自動得到的,完全無需我擔心諸如繪圖範圍之類的細節,因此我能夠及時發現何時獲得了正確的導入過濾器及恰當的PartitionTranspose組合。它還讓我能通過反覆試驗快速挑選出我感興趣的時間間隔。

現在數據導入了,我們可以查看所有通道,並立即發現SYNC和Lng1fm沒什麼用,所以我把它們從列表中刪除:

圖與網絡:尋找信號家族

通過可視化可以立即發現一些看上去非常相似的圖形,例如車輪的RPM(每分鐘轉速)。 將它們分組到類似的集羣似乎是個好主意。 我用的是社交網絡分析的一個方法:基於各個通道之間的關係形成圖社區。我選擇了一個簡單的家族關係——相關性

不低於爲0.4的流,按相關強度加權:

我最終得到了三個主要的集羣和五個不相關的數據流。這是匹配的標籤:

一般看來,右邊的集羣與速度有關,而左邊的集羣與油門有關,但令人感興趣的也許是上方由噴嘴位置、發動機懸置載荷和前懸架位移組成的集羣。也許全都與推力相關。

最密切排列的通道是車輪RPM。所有車輪都以600英里每小時的相同速度運行看起來是件好事! 但RPM1fm,左前輪是最不相關的。讓我們來更仔細地看一下:

最優化:數據比較

我沒有任何儀器單位,有些基準很奇怪,所以我不打算假定它們是以相同的方式校準。這使得數據比較難上加難。但在比較之前,我可以進行一些最優化來對齊數據。 我重新調整和移動第二個數據集,通過差異範數來使兩個數據集儘可能相似。我可以忘記最優化的細節,因爲FindMinimum可以全權負責:

我們先來看一對緊密對齊的值:

由於RPM3fm的範圍大約在0-800之間,可以看到僅有幾處後輪不緊密同步。我意識到許多傳感器似乎很容易出現短暫的故障,所以有可能唯一真正的峯值是運行最快部位中短暫持續的那個。現在看看前輪:

差異顯著增多了。原因是,在速度很高的情況下,沙子開始表現得像液體一樣,我不知道這裏的安全公差是多少,但左前輪是需要擔心的。

我還看了一下前懸架位移之間的差異,結果看到了一個更令人擔憂的模式:

不僅數據範圍的差異增大, 還可以立即看到週期性振盪隨着速度提高而增大。如果我們碰到某種共振, 那可能非常危險。爲了更仔細地瞭解這一點, 我們需要再次切換範式, 使用一些信號處理工具。這是位移之間差異的頻譜圖。頻譜圖只是數據分區的離散傅立葉變換大小。在選擇分區大小和顏色縮放時可以運用一些技巧, 但我採用的是默認的自動處理。讀圖時,時間沿着x軸,頻率沿着y軸,顏色越深,幅度越大:

我們可以看到,振動是一條值在2000到8000之間的深色線條, 它的頻率在運行的早期會增加, 之後又會降低。我不懂工程上的解釋, 但我覺得,與恆定頻率的振動相比,這降低了危險共振的風險。

微積分: 速度和加速度

加速度應該更令人感興趣, 但我們沒有直接的測量數據, 所以我決定從速度推斷。在這些速度下,沒有準確的速度測量方式。結果表明, Pitot measurement相當緩慢,並會把特徵磨平, 所以更好的方式是使用其中一個車輪 RPM 值。我對100個樣本間隔求導, 發現了一些有趣的特徵:

可以清楚地看到,加速度一開始是分段增加的, 然後在中間突然降爲負值。只有當你將油門的位置疊加時才能解釋:

現在我們看到,司機逐步鬆開油門, 看汽車如何反應, 然後振動才真正達到3500左右。汽車達到峯值加速度, 但隨着風阻的建立, 加速度逐漸下降到接近零(在這時汽車將保持最大速度巡航,直到司機完全關掉油門)。風的阻力會導致巨大的減速。我猜有一個降落傘部署以解釋減速的峯值,而真正的剎車在8000時使汽車停止。

信號處理

我還在琢磨振動的情況, 決定從不同的角度看懸架上的載荷。這個小波尺度圖讓我眼前一亮:

讀圖的方式與前面的頻譜圖相同,時間沿着x軸,頻率沿着y軸。但尺度圖有一個很好的屬性來估計數據的不連續性。在4500和5500處有一對主要特徵, 在那裏出現了高頻率振動, 然後有一個不連續點。應用尺度圖需要進行一些選擇, 但自動化處理可以幫助我完成一些選擇,從12個小波和12度分辨率選項中選出MexicanHatWavelet [1], 從而讓我更專注於解釋圖形。

不過,我還是對解釋感到迷惑,於是把圖形拿給工程團隊看,希望他們能有所發現。他們立即知道它是什麼。雖然這輛車是亞音速運行, 車輪上邊緣以兩倍車速向前移動。當車輪的上邊緣突破了音速,然後再返回亞音速時, 這些特性就被發現了。8000左右出現的小特徵對應於停車時物理剎車的部署。

部署:重新創建駕駛艙

一個數據科學項目包括一系列分驟,但大體上可以把它們歸屬於:數據獲取,分析和部署。部署可能是設置自動生成的報告、創建API以服務企業系統,或只是創建演示文稿。因爲我僅有幾個小時,時間僅夠把我的工作做成一個幻燈片筆記本。但我想在這裏展示另一個部署,所以我迅速創建了一個儀表板,來重建一個簡單的駕駛艙視圖:

在這個ThrustSSC超音速汽車工程的案例中,我利用了圖論、微積分、信號處理和小波分析, 以及一些經典的統計學分析。我不必對細節瞭解太多,只要知道要用到的概念和有哪些工具可用就行。細節處理會自動完成。數據的部署也可以自動完成。這就是多範式數據科學。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章