フーリエ変換自体を次元削減手法として分類するかどうかはわかりませんが、確かにそのように使用できます。
ご存知のように、フーリエ変換は時間領域関数を周波数領域表現変換します。元の関数では、は通常時間を示します。たとえば、f(1)は最初の日の誰かの口座残高、または曲の録音の最初のサンプルのボリュームを示し、f(2)は翌日の残高を示します。 /サンプル値)。しかし、引数でF (ω )T ω F (ωf(t )F(ω )tωF(ω)通常は周波数を示します。F(10)は、信号が10サイクル/秒(または時間単位が何であれ)で変動する範囲を示し、F(20)は、信号が2倍の速度で変動する範囲を示します。フーリエ変換は、オリジナルの信号を正弦波の加重和として再構築することで「機能」します(実際には、通常は振幅と呼ばれる「重み」と、各周波数成分の「位相」値と呼ばれる「シフト」値を取得します)。ウィキペディアの記事は少し複雑ですが、ウェブ上に浮かんでいる適切なチュートリアルがたくさんあります。
フーリエ変換は、それ自体では、次元の削減はありません。信号の長さが場合、約振幅と位相が戻ります(1)。これは明らかに大きな節約にはなりません。ただし、一部の信号では、これらの振幅のほとんどがゼロに近いか、事前に無関係であることがわかっています。信号を再構築するために係数が必要ないため、これらの周波数の係数を捨てることができます。これにより、スペースが(信号によっては)大幅に節約される可能性があります。これは、リンクされた本が「次元削減」として説明しているものです。N / 2 N / 2NN/2N/2
フーリエ表現は、次の場合に役立ちます。
- あなたの信号は定期的であり、
- 有用な情報は、信号の周期性でエンコードされます。
たとえば、患者のバイタルサインを記録しているとします。EKGからの電気信号(または聴診器からの音)は、高次元の信号(たとえば、200 +サンプル/秒)です。ただし、一部のアプリケーションでは、FFTのピークの位置である可能性が高く、したがって1桁で表すことができる、被験者の心拍数に関心がある場合があります。
FFTの主な制限は、信号全体を一度に検討することです。FFTの変化を特定することはできません。たとえば、10サイクル/秒に関連する係数を見てみます。次の場合、同様の振幅値が得られます
- 信号には一貫性がありますが、中程度のサイズの10 Hzの振動があります。
- その振動は信号の前半では2倍ですが、後半では完全になくなります。
- 前半は振動が全くなく、後半は1倍の2倍の大きさです。
- (等々)
私は明らかにあなたのビジネスについてあまり知りませんが、これらは非常に関連性の高い機能であると思います。FFTのもう1つの大きな制限は、FFTが単一の時間スケールで動作することです。たとえば、ある顧客が1日おきにビジネスに熱心にアクセスするとします。「頻度」は1日あたり0.5回(または2日)です。別の顧客も2日間続けて来て、2度離陸してから、次の2日間再び訪問するかもしれません。数学的には、2番目の顧客は最初の顧客の2倍の速度で「振動」していますが、これら2つの顧客は解約する可能性が等しいと思います。
時間-周波数アプローチは、周波数と時間の両方の変化を局所化することにより、この問題を回避するのに役立ちます。簡単なアプローチの1つは、短時間のFFTです。これは、信号を小さなウィンドウに分割し、各ウィンドウのフーリエ変換を計算します。これは、信号がウィンドウ内で静止しているが、ウィンドウ全体で変化することを前提としています。ウェーブレット分析はより強力です(そして数学的に厳密なアプローチです)。多くのWaveletチュートリアルがあります。魅力的な名前のWavelets for Kidsは、最も賢い実際の子供を除くすべての人にとって少しでも、始めるのに最適な場所です。Rにはいくつかのウェーブレットパッケージがありますが、構文は非常に単純です(ウェーブレットパッケージの 3ページを参照)。1つのドキュメント)。アプリケーションに適したウェーブレットを選択する必要があります。これは理想的には信号の関心の変動のように見えますが、モーレットウェーブレットが妥当な出発点になる場合があります。FFTと同様に、ウェーブレット変換自体は、次元をあまり削減しません。代わりに、元の信号を2つのパラメーターの関数として表します(周波数に類似した「スケール」と時間内の位置に類似した「変換」)。FFT係数と同様に、振幅がゼロに近い係数を安全に破棄できます。これにより、効果的な次元削減が可能になります。
最後に、私は、次元削減が本当にあなたがここで望んでいるものであるかどうかを尋ねることによって結論を述べたいと思います。あなたが尋ねてきたテクニックはすべて、本質的にデータをできるだけ忠実に保持しながらデータのサイズを削減する方法です。ただし、最高の分類パフォーマンスを得るには、通常、データを収集して変換し、他のすべてを破棄しながら、関連する機能をできるだけ明示的にします。
時には、フーリエまたはウェーブレット分析がまさに必要なものです(たとえば、高次元のEKG信号を単一の心拍数値に変換する)。それ以外の場合は、完全に異なるアプローチ(移動平均、導関数など)を使用したほうがよいでしょう。盲目的に一連の変換を試すのではなく、実際の問題について十分に検討し(そして、販売/顧客維持担当者に直感があるかどうかを確認するためにブレインストーミングを行い)、それらのアイデアを使用して機能を生成することをお勧めします。