Ver. 4.6.1で、CSV/TSVファイルやフォルダから、すぐにプロット表示・分析を始められるワンタッチな設定機能「ファイルから登録 」が追加され、Ver. 4.7.0ではワンタッチなインストール機能で簡単にインストールでき、Functionでデータ編集が出来るようになりました。
DN7を初めて使う方向けのチュートリアルです。様々な使い方が記載されていますので、中級者の方にも活用いただけるかもしれません。説明の中でAPと書いてあったらAnalysis Platformのことです。
事前にSetのページで設定のチュートリアルを終わらせてください。以降、選択項目などそれ前提で書かれています。
設定まだの方はこちら。(Titanicのデータでやってみる…)
中級以上の方は、この画面参考にしながらご自身のデータでいじっていただいても大丈夫かと思います。上級者は斜め読みしてください、何か新しい発見があるかも。
最初にしていただきたいことがあります。特に単発のCSVを見る場合。
多くのDN7の機能では、いつからいつまで表示して、とか、この期間のデータを使って、というものが多いです。
さて、このタイタニックのデータ、どこの期間にあるのか、「Excelを開いてCSVを見て、日時の最小値と最大値を調べて」、というのはデータドリブンっぽくないです。DX化を進めるために、まず「Excelで開く」という行為は、この際忘れ去りましょう(Excelで開いて保存すると特にBig Data の場合、データを破壊されることもあります。醜悪で、手が付けられなくなるので止めときましょう)。
一応、2022年4月の日時のデータが入っている、というところからスタートします。まず、CHM:カレンダヒートマップを使います。
サイドバーの[データ見える化]→[カレンダヒートマップ]で、
工程:Titanic_Result
idに☑チェック
(idは実数以外なのでこの設定ではカウントされます)
日時:2022-04-01 00:00 – 2022-05-01 00:00 (コピペでAPに貼れます)
表示間隔:10min
[グラフを表示]を押すと、CHMが表示されます。
なぜ、初手にCHMか、何故なら大雑把に見れるからです。これ意外と重要なテクニック。
単発のデータは全数プロットなどでは見つけるのが大変です。大海原の船みたいに、よく迷子になります。データが出てこない…、という辛い思いをしたくなければ、覚えておきましょう。
(24時間365日とっているデータならあまり気にしなくていいです。どこを切ってもデータはあるので)
カーソルがあるところ近辺にちょろっとデータが見えるところがありますね。カーソルでデータがある最初と最後の日時をマウスカーソルを合わせて確認して、設定を狭めていきます。
日時:2022-04-14 00:00 – 2022-04-16 00:00
カーソルで得た情報から、対象区間を絞り込みます。再度表示すると、
データは、4/15の3:00-17:00あたりに存在していることが分かりました。
これで他のプロットほとんど使えます!
今折角データ期間を特定していただきましたが、まずラベルプロットの動きを見ていただきたいので、先にTitanic_Mainを見てみます。先ほどはCHMでTitanic_Resultのデータ区間を調べましたので、同様にTitanic_Mainのデータ区間を調べると(仔細省略。先ほどの例をまねて調べてみましょう)
日時:2022-04-13 11:00 – 2022-04-14 09:00
にデータがあるので、この時間を設定します。
ラベル表示を行う変数を選択します。[Label]の列に以下の項目で☑チェックします。
旅客クラス 乗客イニシャル 性別 出港地
(これらがラベルとしてプロットされます)
FPPにプロットする変数を選びます。
チケット桁数 年齢 チケット下位 運賃 船室位置
[☑散布図表示]にチェックしてください。
[横軸]は[時刻]を選んでください。
全て設定したら、[グラフを表示]を押すと、FPPが表示されます
画面上部にあるのがラベルプロットになります。まとまったカテゴリを持つところが帯として表示されています。マウスカーソルを各ラベルに合わせると境界線が表示されます。
旅客クラス=1の人はFirstクラスの乗客なのですが、チケット下位番号(下5桁)が小さめで、年齢は高め(当時は米への移民が多かったので若い人の方が多く乗船)、キャビン(船室番号あり)を使い、運賃は高かったことが分かります。
(このx軸[時間データ]はわざと乗客名簿順番に生成したので、旅客クラスやイニシャルが並んでいます)
実際の工程においては、このラベルに、ロット番号・バッチ番号・処理号機番号・処理ステーション番号・機種などを表示することで、特性がどこで変化したのか、といったことを確認することができます。
マウスカーソルを合わせたデータ点でクリックすると表示。右クリックからも表示可能。
マウスカーソルを合わせたデータ点でダブルクリックすると表示。右クリックからも表示可能。
その製品履歴の他の各変数値まで確認できる。
データ点で右クリックし、[Plot View]を選択すると、そのデータ点の詳細データを参照することができます。
Full Link Dataでは、そのテーブルに含まれる全ての他変数のデータが表示されるほか、データ紐付けを行っている場合は、紐付け先のテーブルのIDが共通な変数も表示されます。
トレーサビリティ情報として活用いただくこともできます。
なお、各表の左上にあるコピーアイコンを押すと、その表をクリップボードにコピーすることができ、メモ帳やExcelに張り付けして活用することができます。
元々CHMで調べていたTitanic_Resultの時系列で並び替えます。データ区間はTitanic_Mainの範囲から、Titanic_Resultの範囲に変更します。
日時:2022-04-15 03:00 – 2022-04-15 17:00
加えて、[起点]のところにTitanic_Resultを入力します。これで、Titanic_Resultのタイムスタンプを基準にTitanic_Mainのデータを並び替えることができます。
Titanic_Resultの時系列で並び替えたデータ。
※プロット上辺に打点されている白い点は欠損値(NA)です。
Titanic_Mainの時系列で並び替えたデータ。
(先ほど可視化したプロット)
両者は同じTitanic_Mainのデータです。ヒストグラムを見ると同じ分布をしていますが、時系列データはだいぶ見た目が変わっています。プロットされる順番や間隔が変わっています。
工程のデータでは、ある特定のデータのプロセス処理時間を基準に他の工程のデータを並べ見比べることで、複数工程間の関係を見出し易くなります。この例のように、着目したい時間軸(のデータテーブル)を[起点]に選ぶことによって、その時間を基準に各変数をプロットすることができます。
※ [起点]が空欄の場合は、最初に設定されている変数の時間を参照します。
今回はTitanic_Mainの時系列が細工されていたので、いい感じにカテゴリが並んでいましたが、実際のデータはTitanic_Resultの時系列のようにカテゴリが細切れに入れ代わり、頻度が高すぎてカテゴリの帯が見えないことも少なくないです(幅があまりにも短いラベルは省略されます)。
このような際でもカテゴリ依存性がないかを確認するのが、インデックス順のプロットです。
先程のTitanic_Resultの時系列で並び替えたデータの設定で、[横軸]を[時刻]→[インデックス]に変更します。
表示されたインデックスの順序設定ウィンドウで、並び替えるインデックスを指定します。優先順を変えたい場合は図にあるようにマウスでドラッグ&ドロップすることで順番を変えられます。
この例では、[旅客クラス]→[性別]→[乗客イニシャル]の順に設定します。
[グラフを表示]を押すとカテゴリ順に並び変わったプロットが生成されます。
カテゴリが並ぶ順番にインデックスが変更されました。
ラベルプロットの変数の項目をクリックするとフィルタ設定画面が表示されます。
例えば、旅客クラスを1のみを選んで[OK]を押すと、表示される内容をフィルタリングすることができます。
検索Boxに検索ワードを入力するとそれを含む項目のみハイライトされます。その状態で[Enter]を押すとハイライトされた項目のみが表示されます。項目数が多いときに使用すると効率よく絞り込みできます。
(解除したい場合は、[All]を選択するか、すべてのチェックを外します。)
なお、このプロットの上辺に打点されている赤い点は外れ値と識別された点です。
(実際はもっとプロット領域の上方に打点されるものです。フィルタリングで、数値の大きい旅客クラス2や3のデータが除かれたため、旅客クラス1の一部のデータが外れ値とみなされるようになったようです。とんでもないお金持ちがいそうですね)
この場合、プロットエリアで右クリックし、[グラフスケール]→[フルレンジ]に切り替えると、APが自動外れ値検出した値を含む、全ての値を表示することができます。
ここでDN7から少し脱線して、層別プロットを試してみます。
Titanic_Mainを使います。
変数に☑チェック 年齢 運賃
対象期間:[変数層別]を選択
日時:2022-04-13 11:00 – 2022-04-14 09:00
ここでデータを分割する要素であるファセットFacetを設定します。
旅客クラス⇒ Lv1
[グラフを表示]を押すと層別プロットが生成されます。
最初のタブでは運賃の比較が表示されます。
パット見、え、Firstクラスが安いの?と思いがちですが、軸のレンジが違いますね。
軸レンジ:[グラフ設定値]は設定がなければプロット毎に[オートスケール]になります。
年齢構成を比べたいので軸レンジ:[グラフ設定値]→[全グラフ共通]とすると
裕福層のすごさだけが目立ってしまう結果になってしまいました…。庶民はつらいですね。
タブ(プロット領域の右上にあります)を[年齢]に切り替えて年齢構成を比較します。
軸レンジ:[グラフ設定値]→[全グラフ共通]として
2等旅客・3等旅客は若者が多いですね。Firstクラスの人は20~60代が比較的コンスタントにいるようです。
分割する要素であるファセットFacet設定を更に追加してみます。
性別⇒ Lv2
プロットしてみると、右のようになりました。
運賃は女性の方が高い傾向があるようですね。Firstクラスでは傾向が顕著なのでトランクの多さなどが効いているのでしょうか?
年齢構成は、2等旅客・3等旅客は男女ともに似ています。3等旅客は形は同じものの人数は倍以上なので男性が目立っていたはずです。
Firstクラスは、男性が年齢高めで、40代のみ男性が多く夫婦での乗船と業務渡航者が混ざっているといったところでしょうか。
工程では、旅客クラス⇒装置号機、性別⇒ステーション番号、というようなシチュエーションになります。装置間差やステーション間差がはっきり掴めていますね。
不良が多い(故障が多い/加工ばらつきが大きい…)ステーションとその他のステーションを比べてみる、といったことが可能になります。工程改善で、どのような機差があるか、何に着目すべきか、などの知見を得られる、非常に有効なツールです。
相関関係を見てみます。
まずは、散布図と行きたいところですが、複数変数があるとそれらを網羅するには散布図行列、ということになります。
Titanic_Mainで以下を選択
旅客クラス 年齢 チケット桁数 チケット下位 運賃 船室位置
Titanic_Resultで「生存状況」を選択
起点は空白だと最初に選択した変数(この例ではTitanic_Main)になりますが、散布図では日時データは使われないので、あまり気にしなくて大丈夫です。
で、表示するとこちら、ですが、元のデータがよくないのですが特に離散値同士の一番左下の散布図、「旅客クラスと生存状態」の関係は6つの点に縮退してしまっています。 (当然といえば当然ですが…)
そこで使っていただきたいのが濃淡散布図機能。散布図行列の右上にあるスイッチを変えるとこちらのようになります。
同じく左下の「旅客クラスと生存状態」の散布図を見ると、3等旅客の非生存者(生存状態=0)が明るくなっている、他の組み合わせより多いということが分かります。情報量が増します。
また、いくつかのデータでクラスタがありそうな気配が…。散布図よりいろいろ分かりますね。
点だったところがボヤっとしているのはカーネル密度推定という手法を使っているからです。さっきの左下の散布図でボヤっとしているところにデータが存在しているかというとそんなことはないです。少し気を付けましょう。
実は散布図はBig Dataに対応していないのですが、この濃淡散布図はBig Dataでも描けるように工夫されています。
さらに、外れ値のみは別途クローズアップして見れるように、濃淡散布図にオーバレイ(重ね書き)してプロットされるようになっています(白い点)。
散布図行列では原理的にnC2の組み合わせの散布図が生成されます。2変数では1個ですが、5変数では10個、7変数では上記にあるように21個。10変数では45個。多変数になると使用するのは非現実的です。
パラレルコーディネートプロット(平行座標プロット)は、特に多次元において、相関行列に代わり、相関関係やクラスタリング、外れ値の確認を行えるツールです。
このTitanicのデータはカテゴリ値が多いので、実は連続値用のPCPとはあまり相性がよくありません。が、DN7ではカテゴリ値もうまいことやってくれるので、無理やりですが、プロットしてみましょう。
idは本来あまり意味がありませんが、多次元でもいけるということで、Titanic_MainとTitanic_Result両方[全部]を選択しましょう。
時間は、この例の場合最初の変数をTitanic_Mainにしているので、そのデータ区間でもいいですが、ざっくり入れても大丈夫です。
例:2022-04-13 00:00 – 2022-04-16 00:00 (Titanic_Mainのデータ区間は2022-04-13 11:00 – 2022-04-14 09:00)
目的変数(虹色の着色基準になる変数)は、本来「生存状態」と行きたいところですが、離散値なので連続値用の平行座標プロットに向きません。ので、ここでは実験的に実数Realである「年齢」を目的変数としてみましょう。
カラフルなプロットが表示されました。この中で虹色になっている変数が注目すべき変数になります。色がごちゃごちゃしているものは無相関であることが言えます。
この例で虹色に見えるのは、「同乗」の2変数と、idあたりですね…。
もう少し分かり易くしてみます。「年齢」の軸に沿って、マウスをドラッグするとピンクの線が表示され、そこに交差するデータのみが表示されるようになります。
60歳以上、を選んでみました。
確かに「同乗」の2変数は少ないし、まあそうかもしれません。あと生存者(生存状態=1)は確かにidの先頭に集まっているようです。(名簿の)idの先頭には旅客クラスが高い人が登録されているので、高いクラスの高齢者は助かった、かもしれませんね。
このPCPでは軸ラベルの部分にマウスカーソルを持っていくとカーソルが⇔の形になるので、横方向にドラッグすると軸の位置を入れ替えられます。
この図ではピンクの選択領域を50代まで含めて、生存状況や旅客クラスを年齢の近くにもって来たものですが、50代以上の女性はFirstクラスの人中心に助かっている、といえそうです。
軸ラベルで右クリックし、[目的変数に選択]を選ぶと、その軸の変数が虹色の着色基準になります。
この機能は工程で役立つときがあります。ある値以上がNG(良品判定)になる製品があった場合、そこから上にピンクの選択領域を設定して、各変数で、上限もしくは下限側にそれらのデータが集中する変数(例えば制御圧力)があった場合、その制御圧力のばらつきを少し押さえたら不良が減る可能性があります。不良が発生した特性端部の特性ずれに対して、どの変数が重要か、を視覚的に捉え推定することができます。
ピンクの選択領域はマウスカーソルを近づけてカーソルが⇕の形になったら、縦方向にドラッグすると、選択領域を変えながらデータの状況を確認できます。
(右は⇕カーソルを動かしている途中の様子)
ピンクの選択領域は、同じ軸の別の場所をクリックすると消えます。
また、特に離散値の軸は表示されている数字の周辺をクリックするとその数値の軸周辺を自動選択してくれます。
右の例では、一度選択解除してから、旅客クラスの1をクリックしています。Firstクラスの乗客が(名簿の)idの先頭に登録されていることがはっきり分かりますね。
便利な並び替え機能があります。
[表示する変数]を[実数のみを表示]、
[変数の並べ方]で[相関係数順に表示]
を選択し、その右横にある[グラフを表示]を押すと、相関係数順に並べてくれます。
年齢にある程度相関関係がみられる運賃が年齢の横に表示されます。虹色に近い軸(相関が高い軸)が右側に集まる感じです。目的変数に近い虹色の軸に注目する、がやりやすいですね。
PCPでは、虹を見つける、が着目ポイントです。
なお、このデータではそこまで明確ではないですが、運賃には、低い運賃グループと高い運賃グループの間に空白があるので、それぞれがクラスタ化しているかもしれません。
このように色がスプリットしている場合はクラスタ化している可能性を示唆してくれます。
このPCPは容易にパラレルカテゴリへ表示を切り替えることができます。
パラレルカテゴリプロットは、連続値の測定値が少なく、カテゴリ記録しか残っていないような製品やラインなどでも効果を上げることができます。各変数の項目毎に構成比を示す色の帯を描画するプロットで、多次元での層別や間差分析を視覚的に行います。色の比率が異なるところが注目ポイントです。
[表示する変数]を[カテゴリ変数のみを表示]
にして、右横にある[グラフを表示]を押すだけです。
PCPと同様に軸ラベルで右クリックし、[目的変数に選択]を選ぶと、その軸の変数が色の着色基準になります。
右の例では[旅客クラス]を目的変数にしました。
このプロット、マイナーですが層別や間差解析に非常に役立ちます。ぜひ活用しましょう。
生存状況では、生存者(生存状態=1)のFirstクラスの乗客比率(赤の割合)が高く、3等旅客(青の割合)の死亡比率(生存状態=0)が高いことが分かります。女性(性別=femaile)のほうが生存確率高かったことも分かりますね(こちらは目的変数を性別にすると、よりはっきり分かります。死亡者は男性比率が大幅に高いです)。
工程での間差判定と同じようにみる場合は、色の比率を見ます。性別(mail=男/femail=女)では、色の比率が目的変数の旅客クラスの比率と大して変わりません。従って性別はあまり重要でない(旅客クラス毎に男女構成比は大して変わらなかった)ことが言えます。一方、生存状況では色の比率が生存と死亡で目的変数とは異なるため、この変数が層別要因になって着目すべき変数であることが言えます。
(これは比率関係からの結言で、実際は因果関係があるので、関係が逆で、旅客クラスが生存率に影響した、すなわち高いクラスの乗客の方がより命拾いした、ですね)
工程ではパラレルカテゴリ(平行セット、Parallel Setsとも呼ばれます)は、不良の原因工程の特定に使われます。目的変数に不良のカテゴリ比率を用いた際に、例えばライン、加工ステーション、検査ステーション毎などでカテゴリ比率を見た場合、本来、どのステーションでも同じ比率にならないといけませんが、特定の不良を作り込む工程が特定の(例えば機差がある)ステーションに存在した場合、構成比率が目的変数と異なります。もしくは他のステーションとの比率構成がそのステーションだけ異なることもあります。このような場合、そのステーションが他とは割合の異なる不良カテゴリを作り込んでいる可能性(他よりよいケース、もしくは他より悪いケースどちらともあり得ます)があります。よいケースが見つかった場合は、そのステーションに他も合わせれば全体的によくなっていきますね。
偏りや間差がなければ、全てのグループが同じ色の比率となるはずなので、目的変数における色の比率と異なるグループを見つけるのが着目点となります。機種間差・ライン間差・号機間差・ステーション間差など幅広い間差についての洞察を得られます。また、連続値の記録が少ないラインは少なくなく、カテゴリ値しか残っていない工程でも十分活用できます。