・本システムのスペクトル計算は、Burgが1967年に提案した”MEM(最大エントロピー法)”と、そのアルゴリズムを利用しています。
( 赤池が1969年に提案した”自己回帰モデル”は考慮していません。[1] )
実際の計算は
@ Levinsonの漸化式 [2]
A Wiener-Khintchineの公式 [3]
上記2つの方式の応用ですが、本プログラムでは特に、Aにおける定積分の高精度・高速化に力を入れています。[4]
・周期性の強いデータに対して大きなラグ値比率(ラグ値/データ数)でMEM計算を実施すると、演算中にオーバーフローが頻発し、
その結果として『 偽のピークが出現したり、在るはずのピークが消滅したり 』と言った【 ピーク異常 】が多発します。
本システムでは、これを防止する為、演算エラーを検知または予期した場合、積極的にノイズ(乱数)を混入させています。[5]
(強度は必要に応じ10段階)
ノイズの混入が実施されると、画面では分散値(D)の右横にノイズ入り分散値(Dn:n=1,10)が表示されます。
演算精度は分散に対する、PSDの総面積で知ることが出来ます(画面ではS/D,S/Dnで表記)。
混入ノイズの増大は |S/D − 1.0|/1.0 の増大を促しますが、通常1%未満に収まります。
・ラグ値比率(ラグ値/データ数)の増大は、MEMスペクトルの分解能を向上させますが、計算時間は飛躍的に増大します。[6]
目的と状況に応じた適切なラグ値比率(%){ 0.0001, 0.01, 1, 10, 25, 50, 75, 80 }の選択が求められます。
例えば、後述の”成分分析”における連続計算では{ 10, 25 }、単一区間の精密計算ならば{ 50, 75 }あたりが妥当と思われます。
{ 0.0001, 0.01, 1 }は成分変動の概略を見る時、80%はデータの計測期間より長い周期の振動を解析する時などに使用します。
・任意の周波数帯域{最大10個(色)まで割当て可能}のパワー(面積)を、スペクトル計算と同時に計算・集計します。
”成分分析”は、これらのパワーを観察・比較する事から始まります。
具体例は当WEBサイト(↓)などを参考にしてください。
【応用例1. 地震波を見る】
[脚注]
1.MEM計算の要点は、『 ラグ値比率の増大に伴う”演算精度の低下”を如何にして防ぐか? 』です。
【 高い分解能の要求 】⇒ ラグ値比率の増大 → 実数演算の”精度落ち”発生回数の増加と集積(演算エラー)⇒ 【 ピーク異常 】
BurgのMEMも、赤池のAR法(自己回帰モデル)も、計算の基本部分は同じですから、”演算精度の低下”による危険性は同じです。
AR法の応用では、”AIC(赤池情報量規準)”などを適用して”ラグ値”を低く設定し、【 ピーク異常 】の発生を抑えるのが常です。
本システムでは、”緻密なプログラミングの積み重ね”によって、”演算精度の低下”を防いでいます。
2.”日野幹雄:スペクトル解析、朝倉書店、1977”などで紹介されたソースプログラムを参考にしています。
そこから、”FPE:最終予測誤差”などに関係する部分を削除し、替わりにノイズ(乱数)混入機能を組み込んでいます。
3.自己相関関数とパワースペクトルの関係式から、”PSD:パワースペクトル密度(曲線)”を求めます。
「どの振動数の”PSD”を求めるか?」は開発者の意思に委ねられますが、本システムでは”適応型自動積分”を応用しています。
4.PSDをナイキスト周波数まで積分し、その値(面積)を2倍にすると、理論上は、時系列データの分散値に等しく成ります。
ラグ値を増すと、『帯域は極端に狭いが密度は異常に大きい』針のようなピークの出現頻度が増します。
これらを確実に追跡・認知するのは至難の業ですが、無視すれば良好な積分結果は得られません。
周波数帯域を設定して高精度の定積分が実施されれば、パワーの時間変動や帯域毎のパワー比較が可能に成ります。
5.サインカーブなど人工的に作られたデータに対してMEM計算を実施すると、帯域幅がゼロの”線スペクトル”が発生します。
また、天然データでも、ラグ値比率が大きい場合は、”針状ピーク”が発生し、ピーク追跡が難しく成ります。
ノイズ(乱数)の混入は、ピークの先鋭化を抑止し、高精度の定積分を可能にします。
6.5000個のデータをラグ値比率{ 80% }で計算すると、データの種類と計算機の性能にもよりますが、分単位の時間を要します。
本システムのラグ値の上限値は[ 4000 ]ですから、通常は上記条件が最長計算時間と成ります。