函數型資料可能是一個令人費解的話題,無論是思考或向他人解釋都可能比較困難。自從 SAS 在 JMP 14 中引入函數型資料瀏覽器 (Functional Data Explorer) 以來,我有很多機會討論它的功能。然而,使用函數型資料分析 (FDE) 的主要困難在於理解「函數型」資料的概念。我想分享一個我用來幫助大家理解函數型資料及其分析功能的思考練習。根據我的小外掛程式顯示,閱讀本文大約需要 4 分 30 秒。
祝你生日快樂!
You can sing the "Happy Birthday" song, right? That's because you have a "functional" form of the song in your memory.你會唱“生日快樂歌”,對吧?那是因為你的記憶裡已經有這首歌的「常用」版本了。想像一下,你正在參加一個生日派對。你可能會唱傳統的“生日快樂歌”,而你對此毫不在意。你熟悉這首歌,無論從哪個音開始,你都知道(即使音域不同)這首歌該怎麼唱。你有沒有想過這是為什麼呢?我們完全可以假設你不可能知道「生日快樂歌」的無數變奏曲。那麼,你為什麼對自己的歌唱技巧如此有自信呢?
簡單來說,你的大腦已經將歌曲的「形狀」儲存在記憶中。給定一個起始音符,你的大腦就能重建出對應的音高,從而演奏出「生日快樂」的旋律。在本文的討論中,你記憶中的歌曲已經具備了「功能性」形式。如果你繪製一個圖表,縱軸代表頻率,橫軸代表從你開始播放歌曲到現在的時間,圖表可能看起來像這樣:
函數式資料分析 (FDA) 的作用類似於你的大腦處理歌曲的方式,將其應用於其他類型的基於時間的資料。 (請注意,這裡的「時間」含義相對廣泛。)FDA 從包含多條曲線的資料集(例如「生日快樂歌」的旋律)開始,並使用一些簡單的數學公式(例如直線、曲線等)來建立資料的一般形式。形狀(例如「生日快樂歌」的旋律)只需調整方程中幾個常數,就能重現原始資料集中的任何曲線。這些數學技巧的結果是,我們可以將龐大且結構複雜的資料集簡化為幾個常數和一個(令人頭痛的)方程式。好消息是,我們通常不需要直接操作這個方程,因為關鍵資訊就隱藏在這些常數中。很酷吧?
順便說一句,我知道我現在對數學很著迷,但我以前不是這樣的——只是大學時交友不慎。所以大家一定要慎重交友!
一個實用的生日快樂
正如我之前提到的,你應該能夠使用函數式資料分析來分析「生日快樂」這首歌。劇透一下——確實可以。我將使用 JMP Pro 中的函數式資料瀏覽器來示範如何操作,以及 FDA 的各個元件在介面中的位置。
我們先來看數據本身(數據和圖表可在JMP 公共上找到)。下面的互動式圖表展示了西方音樂所有 12 個調的旋律。您可以將滑鼠懸停在每個點上,查看與顯示頻率對應的單字(或單字的一部分)。時間軸位於 x 軸上。資料表包含三列:時間(x 軸)、頻率(y 軸)和調號(每個函數的 ID)。這就是開始進行 FDA 分析所需的一切——一系列具有時間軸和響應的曲線。
由於本文主要講解 FDA 的各個組成部分(而非 FDE 教程),我將直接跳到設定好「生日快樂」功能的步驟。如果您需要 JMP Pro 中功能資料瀏覽器的詳細步驟說明,文件中提供了一個範例。以下是 JMP Live 產生的「生日快樂」FDE 輸出報告。
還記得我們之前的思考練習嗎?要理解我們正在觀察的內容,我們需要找到幾個關鍵點:函數形式(旋律的形狀)以及用於修改函數形式以產生特定調性旋律的係數。找到「函數主成分分析 (Functional PCA)」標題下的小圖表(可能需要在視窗中向下捲動)。這就是「生日快樂歌」的「函數形式」(在 FDA 術語中稱為基底函數)。所有用於重現該函數形式的係數等資訊都在報告中(或可以匯出到資料表)。您看到的線條是所有建模工作的視覺化表示。現在,打開「函數摘要」大綱框——別緊張! ——這裡有很多內容,但我們只關注 FPC 和均值列。 JMP 使用平均值和 FPC 來重建給定起始音符的歌曲(對於更複雜的數據,您可能會得到多個 FPC)。其他資訊也都很有用,但歸根結底,這些資訊是你重構每個版本的「生日快樂歌」所必需的。而你的大腦卻能瞬間完成所有這些工作……真是太神奇了。
結論
就是這樣!函數式資料分析不過是人們試圖讓電腦取代人腦自主運作的另一個例子。很酷吧?話雖如此,函數式資料分析的應用前景確實令人興奮。你可以用它將時間序列資料轉換成其他建模方法可以使用的格式。你也可以把它當作實驗設計(DOE)的一部分…用途非常廣泛。
嗯,這聽起來像是個很有趣的系列文章選題……嗯……