応用編の第2部、欠測編です。
------------------------------------
1. 欠測、新現象の出現
測定データに欠測はつきものです。そのときのNNの取り扱いを論じます。
突発的な極短時間の欠測ならば前後から補間すれば、おおむねOKですが、長期間の欠測ではダメです。
ここでは、測定途中から新現象が生じた場合を取り扱います。

2.欠測処理
NNで欠測部のデータを0とすると1,2層間の学習はしません。
それがあるので、今まで入力データのscalingを[0.1,1]区間としたのです。
しかし2,3層間では第2層のneuron関数がsigmoidなので、数値計算では完全0とはならず、微小値です。
そうすると2,3層間でBP学習が働き、欠測なのにNNの構造を変えてしまうのです。
それではマズイでしょう。従って、
欠測データに関しては2,3層間の結合Wjk()を「programで切る」必要があります。
めんどうなprogrammingですがやってみましたので、例を示します。
----------------------------------------------
問題:{xi}={x1,2,...1000=N}なる離散時刻がある。
descriptor-1: f1(x)=0.5*sin(10*π*x)+0.5,
descriptor-2: f2(x)={0(x<500), 0.1*(x-500)/500(x>499)},
teaching: g(x)=k1*f1(x)+k2*f2(x),
k1,k2=parameters.
これをNNで学習して、内部のデータの流れを追跡します。

5周期の正弦関数に途中から直線的な増加が加わる現象です。
parametersはk2/k1=0.1としました。
この小さな途中から生じる現象がNNで検出できるか?が目的です。

 

8.25k iteration後のNN出力を図51に、
その時の1,2層のdescriptorsの寄与を図52、
2,3層のdescriptors & biasの寄与を図53に示す。

<Figure 51. NN outputs and teaching data>


<Figure 52. Descriptors' contribution ratio between 1,2-layers.>


<Figure 53. Descriptors & bias' contribution ratio between 2,3-layers.>

学習はほぼ完全で、NN出力値も教師データに一致します。
1,2層間のdescr-2の{xi}区間, i<500は無意味です。
その値は結果に影響しないように、neuron間結合が切られています。
図53が各記述子の相対的寄与を表す結果で、意味があるものです。
途中から出現した現象のdescriptorの寄与は正しく計算されています。

 

-------------------- 2024.2.20 追記

次にdescriptor-1, teaching dataに20%の一様乱数が加わった場合とうなるか、
を計算します。
実際、雑音の無い測定データなどありません。
descriptor-2は仮定です。それで雑音は考えません。

将来、皆さんは雑音が現象値より大きい場合の解析を指示されることになるでしょう。

そのとき、雑音に埋もれた不可視の信号を、
「こういう信号が在るのではないか?」という仮定を導入し、
測定データと仮定信号のresponseを計算します。
多くの仮定の中で、最も蓋然性のあるものを探すのが実務です。
その練習です。

図54にNN入力、教師データを、図55に8.25k回学習の結果を示します。

<Figure 54. Inputs & teaching data (random raio 20%) for NN.>

<Figure 55. NN output-line and teaching data (dots).>

BP学習は離散的な点位置で成されます。
NNの出力はdescriptor-1の離散点間を補間すれば連続的になります。
NNには補間作用もあります。
図56,57に1,2/2,3-層のdescriptors ratioを示します。

<Figure 56. Descriptors' contribution ratio between 1,2-layers.>

<Figure 57. Descriptors & bias' contribution ratio between 2,3-layers.>

 

20%の雑音が在っても、descriptor-2(仮定)は正しく計算されています。

Biasからの減算の形ですが。これはdescriptor-1も減算形なのでOKです。


------ 2024.2.21 追記
仮定の検定
------
「仮定が±100[xi]時刻、間違っている」場合を計算します。
正負の方向は対称でなく、負方向ではNN構造が対応しないので、有意な結果にはなりません。
正方向では、NN構造が仮定時刻より遅れて対応するので、
descriptorの値が存在するが、実際の値としては0という状態が計算できます。

誤差20%の場合で計算すると、図57と同様の結果になります(図58)。

<Figure 58. In case of estimation error;
Descriptors & bias' contribution ratio between 2,3-layers.

The figure is same as Figure 57; but it is a new calculation.>

descriptorの寄与は「導入した仮定に支配される」のですね。
これは不味いです。計算結果に恣意性が入ることになります。

原因は20%混入させた誤差にあると考えて、それを0%にします。
結果を図59,60に示します。

<Figure 59. NN's output and the difference, in esctimation err. +100{xi}
timming.>

<Figure 60. In case of estimation error & non random perturbations;
Descriptors & bias' contribution ratio between 2,3-layers.>

 

図59ではdifference曲線を見て下さい。{xi}>600以上で確かにdescriptor-2の効果が見えます。

図60ではcontribution ratioで明確です。

誤った部分500<{xi}<600区間では寄与0の近傍で揺らいでいます。妥当です。

ゆえに、この計算approachは無誤差ならば有用です。

 

許容される雑音率
1,2,5%の雑音を混ぜて計算しました。

<Figure 61. allowance ratio of random perturbations.>

図61から見ると、1%の混入まででしょう。

仮定の誤期間(500-600 [xi])ではdescriptor-1値が極小値に向かって下降しています。

雑音があると、どうしても其処を拾ってしまうようです。