細かすぎて使えないかもしれないExcel Tips(3)(実は出来ますExcelでフーリエ解析)

はやし@color_chipsです。
みなさんExcel(エクセル)使ってますかー!
VBAの記事も合わせると5回目です。久々でも案外と続いているExcel関連ですが、
今回は一般的にはまず使わないだろう内容です。

というわけで今回は、Excelで「フーリエ解析」。実はできることを最近知りました。学生の頃に知っていたかった。

「フーリエ解析」って?

フーリエ解析とは、
ちょっと難しい言葉で言うと、「データ列にどんな周波数の成分があるかを分析する数学的ツール」
のことです。わかりにくいですね。
この辺りのサイトがわかりやすいです↓
フーリエ変換の本質

   フーリエ変換 - DSP の基礎・トレーニング - TI
ここでは数式は追いません... フーリエ変換の「気持ち」を理解していきます。 ...

ここでは、フーリエ解析とは何ぞや。という事は置いておいて、
Excelでのフーリエ解析のやり方を紹介します。
【※以下はフーリエ解析の経験が一度はある。なんとなくわかっている人以上が対象です。】

今回扱うデータは、こちら。
Excelfourier 20140709 00
このブログの数ヶ月のアクセスデータです。なぜ古いデータかというと大人の事情です。
これをフーリエ解析に掛けると、何がわかるかというと、、何もわからないかもしれません。
とにかくやってみましょう。

Excelでフーリエ解析する手順

初期設定

※Excelのバージョンは2010です。(2007でも同じような感じだと思います。)
まずは、分析ツールというものをメニューに出せるようにします。
1.メニューを右クリックしてツールバーの設定を開く。
Excelfourier 20140709 01
2.アドインから分析ツールを選択する。
Excelfourier 20140709 02
3.Excelアドインに設定する。
Excelfourier 20140709 03
4.分析ツールを有効にする。
Excelfourier 20140709 04
以上でメニューにデーテ分析が追加されます。

使い方

次に、「データ」>「データ分析」を選び、リストから「フーリエ解析」を選びます。
Excelfourier 20140709 05

Excelfourier 20140709 06

すると、ダイアログが出てきて、解析に掛けるデータを選ぶことが出来ます。
Excelfourier 20140709 07
データ列を選び、次に結果出力先を選びます。
(※このとき選ぶデータ数がポイントで、2の累乗(2,4,8,16,32,64,128,256,512,1024,...)でなければいけません。フーリエ解析を使おうなどと思っている人には当たり前かもしれませんが。)
結果出力先は、先頭だけを選べばOKです。
Excelfourier 20140709 08
OKすると、

Excelfourier 20140709 09

ずらっと結果が出てきます。

また、この機能はExcelの通常の関数ではなくマクロ演算みたいなものなので、
元のデータが変わっても自動的には結果は代わりません。再度分析ツールからのフーリエ解析演算が必要です。

このままではよくわからないので、パワースペクトルにしてグラフ化してみます。
結果は複素数で出力されるので、複素数関連のExcel関数を使ってみます。
(※実はExcelは複素数を扱えるのです。これも知らなかった。)

IMABS()関数

IMABS関数を使うと、複素数の大きさを計算してくれます。
Excelfourier 20140709 10

ここでは、IMABS関数を使って、パワースペクトルにして、結果をグラフ化してみます。
Excelfourier 20140709 12
おぉー。それっぽい。

というわけで、エクセルでフーリエ解析。あなたもぜひ!(使うかなぁ。。)

関連記事