GEエアロスペースでは、航空機エンジンの稼働率と保守コストを最適化するための予測モデルを構築しています。これらのモデルは、ハードウェア構成の複数の組み合わせが存在する多くのエンジンファミリーに適用できます。さらに複雑なことに、エンジンの様々なグループやフリートには、航空会社、地域など、無数のラベルが付けられています。
並列プロットは、特定のエンジンシリアル番号におけるこれらのモデルの適用性を、その構成とグループ分けに基づいて比較的簡単に視覚化し、管理する手段を提供します。この視覚的な管理は、モデルの追加指標として、影響度に基づいて個々のモデルの更新とチューニングの優先順位付けに役立ちます。
こんにちは。私の講演へようこそ。リー・ベッカーと申します。GEエアロスペースのプリンシパル・アナリティクス・エンジニアで、データサイエンス部門に所属しています。今回は、データ探索に役立つ便利なグラフィカルツールとして、最近JMPで発見した興味深い機能についてお話しします。
私の論文要旨はこちらでご覧いただけます。ウェブサイトにも掲載されています。GEエアロスペースでは、航空機エンジンの稼働率と維持費を最適化するための予測モデルを構築しています。これらのモデルは、ハードウェア構成の複数の組み合わせが存在する多くのエンジンファミリーに適用できます。さらに複雑なことに、様々なグループやエンジン群には、航空会社の地域など、無数のラベルが付けられています。
並列プロットは、特定のエンジンシリアル番号または資産へのこれらのモデルの適用性を、その構成とグループに基づいて比較的簡単に視覚化し、管理する手段を提供します。この視覚的な管理は、モデルの影響度に基づいて、モデルの更新とチューニングの優先順位付けを行う際に役立ちます。
それでは、早速始めましょう。まずは私の経歴についてですが、GEエアロスペースで23年間、様々なエンジニアリングの職務を経験してきました。そのほとんどは飛行データに関するもので、特に航空機から得られるデータの傾向分析や処理に携わってきました。先ほども申し上げたように、飛行時間を管理し、維持費とのバランスを取ることに注力しています。
現在、私はData Science & Analyticsという組織でプリンシパル・アナリティクス・エンジニアを務めています。私はエンジニアです。データサイエンスの専門家ではないので、自分の役割を述べる際には常に注意書きをいただきます。私は視覚的に学ぶタイプで、データの視覚化に非常に情熱を注いでいます。最後に付け加えておきたいのは、社外向けの講演では、内容を自分で作り上げなければならないということです。一部のお客様の安全を守るため、すべてのデータはマスクされていますが、実際のケーススタディに基づいています。
概要でも述べたように、GEエアロスペースでは多くの予測モデルを構築しています。これらのモデルは、資産の構成に基づいて、特定のグループに非常に細かく対応しています。ここで言う構成とは、エンジンファミリーなどを指します。私は小型のリージョナル機を運航している場合もあれば、より大型で強力なエンジンを必要とする大規模な国際大陸間フライトを運航している場合もあります。
モジュールとは、ファン、コンプレッサー、燃焼器、タービン、そして吸気、圧縮、噴射、吹出といった要素を持つことを意味します。これがタービンエンジンの一般的な構成です。しかし、これらのエンジン部品は、様々な年代やハードウェア構成を持つ場合があります。私たちが構築するモデルは、その点を考慮する必要があります。
航空会社の顧客は、飛行方法だけでなく、運航場所によっても行動が異なります。地域による影響、路線構成など、様々な側面を考慮する必要があります。私たちは、翼上での飛行時間やエンジンの寿命を予測し、これらの資産グループを管理しようとしています。ここに作成したグラフ、そしてもう一つ注意点として、JMPの様々なプラットフォームを使って作成したグラフをすべてご紹介します。
これらのマップのいくつかを再現したり、あるいはシンプルなグラフィックに戻ったりすることに興味があれば、後で私に話しかけてください。これはエンジンの断面のヒートマップで、非常に漫画的ですが、少なくともこれらのマップ要素の色付けとブロック化はすべて JMP で行われました。
話を戻しましょう。端的に言うと、これらすべての側面を管理しようとすると複雑になります。予測モデルを構築しようとする際には、フリートを区分し、全体をまとめるための潜在的な軸として、これらすべてを考慮する必要があります。しかし、私たちにとって重要なのは、これらの資産はアップグレードされ、時間の経過とともに構成が変化するということです。
モデル管理は、どの資産にどのハードウェアがどの時点で搭載されているかを把握するための要素となります。「このフリートには、このコンプレッサー構成のエンジンが75台ありました」という状況で管理しようとしたところ、昨年は同じ構成のエンジンが100台ありましたが、そのうち25台はアップグレードまたは別の構成に変更されました。これらのグラフについては後ほど詳しく説明します。
今日は説明のためにここに用意した具体的な例を使ってみましょう。5つの航空会社を追跡しているとします。各航空会社はそれぞれ2種類の異なるエンジンを運航しています。それぞれのエンジンには、ファン、コンプレッサー、燃焼器、タービンという4つの部品があります。これらの部品はそれぞれ、管理対象の航空機の中で複数の年代や構成を持つ可能性があります。
どの資産がどの時点でどのような構成になっているかを理解しようとすると、本当に複雑になります。「これらの分布はどのようになっているだろうか?」と探り始めると、まずはプロットしてみるのが最初のイメージになると思います。では、これらの分布が実際にどのようになっているのかを理解しましょう。例えば、私が初心者で、ヒストグラムや非常に基本的な分布を初めて見たいとします。
おそらく、まず最初に思いつくのは、上部にあるヘッダーグラフを使うことでしょう。JMPの最新バージョンにこの機能があることをご存知ない方は、ぜひ試してみてください。これで非常にシンプルなヒストグラムが作成されます。私のデータはすべてカテゴリカルなので、連続分布を見て外れ値などを確認するといった難しい作業はありません。しかし、この方法でカテゴリカルデータを見て、いくつかの関係性を見始めるのはかなり簡単で分かりやすいです。
次に直感的に思いつくのは、おそらく「さあ、分布プラットフォームを活用してみよう」ということでしょう。これもまた、非常に分かりやすいです。連続データを扱う場合には、より詳細な統計情報が得られるので、頻度と統計量でより多くの情報が得られます。ここでは分かりやすくするために、それらを隠しています。
3つ目の選択肢は、もしかしたらかなり突飛な方法かもしれませんし、もしかしたら思いもよらなかった、あるいは考えたくもなかったかもしれません。しかし、入力ペアや軸ペアのそれぞれの組み合わせごとに、コンティンジェンシープロットを作成するという方法があります。ここでこれを示したのは、確かに見づらいということを理解してもらうためです。このようにデータを視覚化することを好む人もいますが、多次元を扱う場合、実際に何が起こっているのか理解するのが難しくなる傾向があります。
ここでもう一つ付け加えておきたいのは、JMP内でも探索には様々な方法があるということです。JMP内で実行しようとしているほぼ全ての作業には、通常2つか3つの異なる方法があります。インタラクティブ性は、特に探索を行う際に大きなメリットとなります。例えば、航空会社の分布図にある5つの航空会社のうち1つを選ぶだけで、エンジンの種類やファンの構成、コンプレッサーの構成などを確認することができます。
これらの分布内の様々なバーを選択すると、ハイライト表示が変化し、分布が確認できます。また、基になるデータテーブルでも、選択の結果としてレコードが変化するのを確認できます。これらの視覚ツールは、データテーブルを含む、開いているどのプラットフォームでも選択作業に役立ちます。非常に優れたインタラクティブ機能が備わっています。ただし、先ほども述べたように、次元が高くなるほど、理解が難しくなります。
このデータを視覚化する新しい創造的な方法を見つけることにかなり興味を持つようになりました。そして偶然、パラレルプロットという手法に出会いました。少し立ち止まって、パラレルプロットとは何か、そしてその背景と使い方について少し触れたいと思います。これが、これから数分かけてお話しする内容です。
非常に大まかに言えば、パラレルプロットとは多変量データを表示するための視覚化ツールです。ここで使用しているのはまさにこの多変量データです。各軸はそれぞれ異なる変数を表し、軸同士を交差させるのではなく、互いに平行に配置します。データポイントは、各軸と対応する値で交差する線として表されます。これにより、複数の次元にわたるパターン、相関関係、外れ値を視覚化できます。特に高次元データの分析に役立ち、データセット内の関係性、傾向、クラスターを特定するのに役立ちます。
ここでこれをたくさん生成してみると、JMPのインタラクティブ機能が、関係性がどこにあるのかを理解する上でいかに強力であるかが改めて分かります。例えば分布プラットフォーム内で、複数のグラフに頼ってそれらの関係性を確認する必要がなくなりました。リボンの線に沿って流れる関係性を、一度にすべて見ることができるのです。
データが連続データかカテゴリデータかによって表示方法が異なります。後ほどいくつか例を挙げます。以上が私が発見した概要です。この方法でデータをプロットし、並列プロットを用いて探索を行うことで、非常に大きな価値が得られることがわかりました。それでは、私が好む方法で並列プロットを作成する方法についての簡単なチュートリアルをご覧ください。
グラフビルダーに入りましょう。データテーブルに戻りましょう。グラフビルダー(ここにあるアイコンです)に入ります。または、「グラフ」と「グラフビルダー」の順に選択して開くこともできます。ステップ2では、プロットしたい列をすべて一度に選択します。それらをすべて一度にX軸までドラッグします。次に、この魔法のボタンをクリックして平行プロットを生成します[inaudible 00:13:00]。まだ終わりではありません。まず、JMPでご存知の方もいらっしゃるかもしれませんが、もう一つテクニックをご紹介します。
基本的に常に同じサイズと形状にしておきたいんです。これを使って、右クリックしてフレーム設定をコピーし、ここに貼り付けて編集、貼り付け、フレーム設定と進むと、グラフ上ではすべて同じサイズ、つまり長方形になります。これは私の個人的な好みですが、もしかしたら、この機能の存在をご存知ない方もいるかもしれません。
最後に、この説明で最後にコメントしたのですが、これを何らかの方法で色付けしましょう。前の例では、航空会社を色付けしていました。航空会社のパラメータをここにドラッグして、航空会社のドロップゾーンか色のドロップゾーンにドロップするだけで完了ですが、まだ完了ではありません。もう一つ、私が少し気に入らないのは、人が「完了」と言わないのに「完了」と言わないことです。ほら、完了です。
グラフビルダーでは常に「完了」ボタンをクリックするだけで、完了です。今日の講演で使用したグラフも、このように作成しました。説明には2、3分かかったと思いますが、実際にはほんの数秒で、非常に簡単な視覚的な補助ツールを作成できます。このツールを使えば、これまでとは全く異なる、おそらく全く異なる方法でデータを探索できます。JMPのインタラクティブ機能を活用して、シンプルな分布図を作成し、操作を進めていくだけです。
カスタマイズの高度な機能についても簡単にお話ししたいと思います。カラー機能については既にご紹介しました。これは多くの場合非常に便利ですが、航空会社だけにカラーを設定していて、その航空会社が既にグラフ上にプロットされている場合は、あまり役に立たないかもしれません。リボンのいくつかは様々な軸に沿ってトレースできますが、カラー機能はそれほど役に立ちません。
しかし、見ているものをよりシンプルにするために試せることの一つは、実際のグラフにはプロットしていないパラメータの色分けを使うことです。ここにその例があります。グラフからエンジンの種類を取り除いたものです。下部のXが1つ少なくなっていますが、私はその色分けを使うことにしました。マップを分かりやすくするために、そのパラメータの色分けを使うことにしました。
やり方は、コントロールパネルをもう一度起動して、リストからエンジンの種類を削除します。カラーバケット(ドロップゾーン)から色を削除し、エンジンの種類を[inaudible 00:16:12]に追加します。基本的には同じです。すべての例をこのように説明するのはもうやめておきます。データの表示方法や並列プロットの見方、そして色付けによってデータの探索や複数選択を容易にする方法をいくつか紹介します。
例 2 に戻りましょう。ここでは、3 つの軸のみをプロットし、ファン構成に色を付けました。2D ファン ブレードまたは 3D ファン ブレードがあり、すべての 2D ファン ブレードが青で、それらのすべての 2D ファン ブレードが従来の V1 タービン構成にマッピングされていることがわかります。ここでは、より広範な並列プロットを見て理解するだけでは、それが 1 対 1 の関係であると推測できたかどうかはわかりません。
これも、ビューを簡素化するために使えるテクニックの一つです。ここでは色を補助として使い、データ内の次元を探りやすくしています。もう一つの優れた点は、左に紫色の陰影がある軸の向こう側に、母集団の一部が明確に赤色または青色になっているケースがあることです。データセットがどちらか一方に偏っている場合、これは容易に確認できます。
繰り返しになりますが、これらの変数の一つ、つまり青と赤の層別化を取り除いて、紫の色合いに頼ることで、自分が集団の中でそれらの極端などれにどれだけ近づいているのかを判断できるかもしれません。紫の色合いという視覚的な手がかりに基づいて判断するのです。つまり、自分が本当に青いのか、本当に赤いのか、あるいは大体その中間のどこかにいるのか、ということです。
もう一つ試してみると良いテクニックがあります。ローカルデータフィルターも非常に便利です。データセットの様々な組み合わせや設定方法を調べるのに便利です。ローカルデータフィルターはここにあります。プロットした変数だけでなく、データセット内の任意の変数にローカルデータフィルターを設定できます。早速試してみましょう。このビューは、以前表示していたビューと基本的に同じです。
しかし、このようにしてローカルデータフィルターを使用して探索するメリットは、データセット内の様々なサブフリートの価値やサブグループを選択できるようになることです。Air Americaだけを見て、他の軸でどのように表現されているかを確認したい場合、ここでは非常に簡単に行うことができます。Air Americaだけを見て、他のすべてのものとの関連で何が起こっているかを解釈しようとすると、非常に手間がかかります。あるいは、特定のフリートだけを見るという選択肢もあります。あるいは、他の軸の1つについても同じことをして、特定のファン構成だけを見て、どのように表示されるかを確認することもできます。
これは、調査対象のデータ内を探索し、絞り込むためのもう一つの方法です。前回のローカルデータフィルターの例です。これは…先ほど述べたように、このデータがどのように動作するかという時間的要素を理解するために作成した例です。この2024年のビューは、これまで説明してきたデータセットと全く同じように見えるはずです。それ以前に、これらの資産やエンジンの履歴があり、それらはすべて時間の経過とともに構成の組み合わせが変化してきました。ここで示そうとしているのは、これらの組み合わせ、つまり時間経過による変化を視覚化することです。
ここに、これまでプロットしていなかった別の次元があります。それは時間要素です。例のように、CM5-5のサブフリートが、退役が進むにつれて時間の経過とともにどのように減少していく可能性があるかを知りたいのです。ズームアウトしてデータのスーパーセット全体を確認し、サブフリート、または私の場合はエンジンのグループを選択できます。
こうすることで、年ごとに繰り返し分析して、「2020年には、どの顧客も少なくとも数機は保有していた。そして2021年には、これらの顧客のうち数社が退役する。2022年には、保有機は4機だけになる」と予測できます。エア・アメリカは2021年から2022年にかけて全ての保有機を処分しました。現在、これらの資産タイプを保有しているのは2社だけです。最新のデータを見ると、その時点までに保有機数が大幅に減少していることがわかります。
ここでもう一つ便利なテクニックを紹介します。これは、時系列で物事を見るという手法です。以前、かなり古いコンプレッサー構成を使っていました。ここでも、選択ツールとして使用するすべてのデータのスーパーセットに戻り、基になるデータテーブルに戻って、過去の資産について調べます。そのためには、資産番号を選択し、「行選択」に移動して「一致するセル」を選択します。
これで、過去にその超古い構成だったアセットと、現在その構成にあるアセットが選択されます。それでは、その例を見てみましょう。これで、まだ完成ではありませんが、可視化はできました。現在だけでなく、過去にその超古い構成だったすべてのアセットが選択されました。
これで、時系列を辿って2020年の状況を確認できます。さらに2021年の状況も確認できます。2022年にどのように変化しているかを確認できます。変化の様子から、いくつかはすでにアップグレードされている可能性があります。しかし、この非常に古い構成から2024年の間には大きな変化が見られます。
すべて上位に…かなりの数が新しい構成にアップグレードされました。このプロットとこのプロットの違いは、スーパーセットレベルでは分かりにくかったかもしれません。繰り返しますが、これはデータを探索するために使えるもう一つのテクニックです。X軸にプロットしていないディメンションやX変数を色で表示したり、ローカルデータフィルターを使ってデータの探索と選択を容易にしたりすることができます。
最後にお話ししたかったのは、連続データについてです。これはIrisデータセットです。このプレゼンテーションを作成しようとしていた時に偶然見つけたものです。グラフを開いて「Parallel Plot」を選択すると、このような結果が表示されます。実際に確認してみましたが、この手法は連続データのプロットには非常に優れています。しかし、カテゴリデータのプロットにはそれほど適していません。
元のデータセットに対してグラフと平行プロットを選択してプロットしてみると、それほど凝った、あるいはすっきりとした見た目ではありません。もう少し見栄えを良くするために他のオプションを試すこともできるかもしれませんが、人それぞれ好みは分かれるところです。繰り返しますが、これはデータの視覚化方法であり、これまで自分で見つけることができた方法とは少し異なるかもしれません。しかし、データの探索には様々な用途や方法があることを認識してください。
Irisデータセットに戻り、いつも通りに平行プロットを作成し、候補となる軸のリストをXカテゴリにドロップして、平行プロットを選択します。こうすることで、もう少し情報量の多い結果が得られるかもしれません。しかし、繰り返しますが、これは同じことをするための様々な方法の集合にすぎません。この多次元データを使用し、この手法を用いてそのデータを探索することが、今日私がここでお話しする理由です。
今回の講演でお話ししたかったことは、これでほぼ終わりです。データの使い方や可視化の方法について、いくつかアドバイスをさせていただきます。JMPのウェブサイトでご覧いただけるオンデマンドウェビナーで、いくつかヒントを得ました。ウェビナーをご覧いただくか、直接お問い合わせいただくことも可能です。データの可視化や、物事をシンプルに保つことについて、彼から素晴らしいアドバイスをいただきました。
私はそれを本当に心に留めています。なぜなら、私が「探索モードと説明モード」と呼んでいるモードにいるときは、非常に注意しなければならないからです。データを探索し、自分の目的のために視覚化しているときは、自分が何をクリックしているのか、なぜその方法で物事をしようとしているのか、その理由を明確に理解しています。しかし、同じグラフィックを使って物事を説明しようとすると、自分自身を説明するのが難しくなるかもしれません。
このように複雑なものを説明目的で使う場合は、注意して、できるだけシンプルにしてください。これは探索的な視覚化には優れたツールですが、聴衆や上司に説明する際には、ここで紹介した方法をいくつか試して、ビューを簡素化し、より早く結論にたどり着くようにすると良いでしょう。シンプルであることは常に良いことです。
これがポイントです。常識のように思えるかもしれませんが、自分にとって明らかなことが聴衆にとっても明らかだと思い込まないでください。パワーポイントのグラフに何かを載せたなら、それは何かを説明しようとするプロットを作成したということです。そのプロットについて説明し、その結論に至った経緯を説明する箇条書きを用意し、結論を明確に示してください。この見解から私が何を導き出そうとしているのか?それは、自分にとって明らかなことが聴衆にとっても明らかだと思い込まないように、ということです。
最後に、正直に言うと、私自身もよくつまずくのですが、視覚化とアートの間には微妙なバランスがあります。ですから、ただ見た目を良くするだけではいけません。作成するグラフィックが実用的で、ストーリーを伝えるのに役立ち、ストーリーの邪魔にならないようにしてください。
視覚化は視覚化のため、芸術は芸術のために。並列プロットに関するJMPヘルプへのリンクもここに貼っておきました。先ほども触れましたが、マイク・アンダーソン氏によるオンデマンドウェビナーもぜひご覧ください。非常に役立つ内容ですので、ぜひご参加ください。それでは、ご清聴ありがとうございました。以上で終了です。本当にありがとうございました。