*注意)この「べじぱみゅの学習メモ」のカテゴリー記事は、ワタクシ自身がこれまでに勉強したいろいろな項目について、テキストにあんまり書いてない内容などを勝手に妄想したメモです。
ワタクシ自身の備忘録のために書いており「初学者にわかりやすく説明する」というものではございません。
導入なしに唐突に話が始まり、おそらく意味不明な文章かもしれません。
しかし、せっかく考えたことなので、記事の内容がもし誰か1人でもお役に立てれば幸いです。
怪しい架空製品で4変数データ解析のお話をしてきましたが、ちょっと真面目な理屈の話を。
私たちは何かデータを取った際、まずグラフを描くことが多いと思います。数値の羅列よりもグラフにしたほうが全体的な傾向や特徴点を把握しやすいからです。
ワタクシ自身の備忘録のために書いており「初学者にわかりやすく説明する」というものではございません。
導入なしに唐突に話が始まり、おそらく意味不明な文章かもしれません。
しかし、せっかく考えたことなので、記事の内容がもし誰か1人でもお役に立てれば幸いです。
怪しい架空製品で4変数データ解析のお話をしてきましたが、ちょっと真面目な理屈の話を。
「グラフに描く」とは?
私たちは何かデータを取った際、まずグラフを描くことが多いと思います。数値の羅列よりもグラフにしたほうが全体的な傾向や特徴点を把握しやすいからです。
しかしながら、困難なく「グラフ化」できるのは2変数データまでで、超頑張っても3変数データまでです。ここで言葉の定義をしっかりしておきましょう。
◯1変数データ→1つの変数で値が定まるデータ。関数で言うと「f(x)」。
↑こんな感じで、最も簡単な「縦軸と横軸との関係」としてグラフ化できます。
◯2変数データ→2つの変数で値が定まるデータ。関数で言うと「f(x,y)」。
↑こんな感じで、1変数データほど簡単ではありませんが、等高線や曲面プロットなどの方法で2次元画面上に表示することができます。
◯3変数データ→3つの変数で値が定まるデータ。関数で言うと「f(x,y,z)」。
これは2次元画面上へのプロットがかなり困難で、だいぶ工夫(ゴリ押し)が必要です。例えばこんなやり方があります。

3つの軸に対して定まる数値を、点の色として表現しています。まあこの表示法でわからなくもないですが、それぞれの点の位置(x,y,z)を正確に把握するのは難しく(「投影図」のため全く別の点が同じ位置に来てしまう)、正しい把握のためにはグラフをくるくる回す必要があります。
3変数データの表示方法にはバリエーションがあります。
これはいわゆる「CT」のデータを3D表示したものです。CTのデータは「空間の各点で定まったX線吸収率」ですから立派な3変数データです。
こういう像を描くには、吸収率の閾値などを定めて輪郭(曲面)を抽出したり、内部まで見えるように適度に「透明化」する必要があります。
というわけで、3変数データは、すごく頑張れば2次元画面上に表示できますがそれなりの情報損失は避けられません。
さあ4次元だ!
今回のつば九朗ジュエリーキューブの元素分析データはx,y,z,原子番号で値が決まる4変数データです。一般的に書くと

こうです。前述のように、3変数データでも2次元画面に表示するのにまあまあ苦労(または情報損失)するわけで、次元がさらに1つ上がったこいつだともはや手に負えません。
実際に4変数データをグラフ化しようとすると、「局所的」にやるしかありません。3次元空間の元素分析データやスペクトルなどの場合、例えば
・「空間内におけるある面におけるある元素の分布」(2変数データ)を等高線表示
・「xy面で合計したある元素のz方向分布」(1変数データ)をグラフ表示
などの手法が取られます。いずれも元データのほんの一部を抽出したに過ぎず、情報が大幅に損失しており重要事項の見落としリスクは高いといえます。
「そりゃあ4次元なんだからしょうがないだろ!」と言いたくなるところですが、ちょっとだけ待ってください。
例えば「4次元」の座標のうち3次元が、ごく少数の水準だと仮定しましょう。こんな具合に。

つまり、3つの変数の組み合わせが12通りしかありません(具体的なイメージが欲しい方は、x4が「時間」で、あと3つは何か別の識別パラメーターだと思いましょう)。

つまり、3つの変数の組み合わせが12通りしかありません(具体的なイメージが欲しい方は、x4が「時間」で、あと3つは何か別の識別パラメーターだと思いましょう)。
これなら「情報損失なしでグラフ化」できます。例えばこんな感じ。


バカ正直に12種類のx4グラフを描いてみました。さすがにこれだとグラフが混みあってて見にくいので

こんな具合に、適度に分割して表示すればスッキリします。
4変数すべてが「実数」だったり「0から1000までの1001水準」なんてされたらお手上げですが、こういった具合に「水準が極めて少ない」状態なら4変数データだろうがそれほど苦労せずにグラフ化できるわけです。
そこで4D-MCR!
今回の元素分析データ表示はこの発想を使っています。今回のデータでは、
xy→128×128箇所(水準)
z方向→301箇所(水準)
元素→92種類(水準)
だったのを、以前の記事の「MCR」を用いて
xy→7水準
元素→7水準
(z方向はそのまま)
まで「圧縮」したのです。
2変数データ×1変数データ×1変数データ
の積に近似するのです。
基本的な考え方は以前の記事で述べた、3変数データのMCRと同じです。「本質をなるべく損なわないように少数の重要要素にまとめる」のです。ここではそれを2回やります。
基本的な考え方は以前の記事で述べた、3変数データのMCRと同じです。「本質をなるべく損なわないように少数の重要要素にまとめる」のです。ここではそれを2回やります。
元の4変数データを、x&y直積とz&原子直積の2変数データに並び替え、1回目のMCRをします。元が3変数データならこのとき「分布」と「スペクトル」が得られたのですが、今回は次元がひとつ上がっている(最初の行列の「列」がz&原子の直積)ので、「スペクトル」でなく「深さプロファイル」が得られます。それぞれの「領域」における全元素の深さプロファイル(深さの数×元素の数だけの数値)、となります。
得られた深さプロファイルに対して2回目のMCRをします。この結果、「元素のまとまり」(3次元のときの「化合物スペクトル」に相当)と、「まとまりの深さプロファイル」が得られます。
MCRを2回行うことで「次元圧縮」を2回やり、改めて書きますが
この近似を実現するわけです。
MCRを複数回やる、というだけでは誰でも思いつきそうなアイデアですが、実はただ2回やるだけでは結果が微妙だったりします。本質はあくまで「MCR2回」ですが、それ以外に「どの変数を先に圧縮するか」や「分布の2値化」などをうまく考慮しないとキレイな結果になりません。あるいはそれら「サブ要素」によって同じ元データから全然違う結果が得られるので注意です。
今回述べた「4変数データのMCR」もしくは「4次元データのMCR」略して4D-MCR、非常に便利ですが細かいところでいろいろ注意が必要です。
はっぴぃ理系らいふ、いぇい
ヽ(・ε・)人(・ε・)ノ キミモナカマニナロウゼ
コメント