スピーカー
|
成績証明書
|
| 金持ち |
こんにちは、私の名前はリッチ ニューマンです。インテルの統計学者です。 そして今日は、K 最近傍アプローチを使用して同時 95% 境界を決定する JMP スクリプトについて説明します。 |
| |
このプレゼンテーションは、同じくインテルに勤務する Don Kent の共同執筆者であり、私たち 2 人ともニューメキシコ州リオ ランチョにいます。 |
| |
今日のプレゼンテーションは、問題を動機付けることから始めて、そこから考えられる解決策をいくつか共有し、最終的に私たちが採用した解決策に到達したいと思います。 |
| |
途中で、ポイントをさらに説明するためにいくつかのグラフを提供し、最後に、問題を解決するために使用する JMP アドインと、スクリプトを示すいくつかのスクリーンショットを示します。 |
| |
私たちはデバイスを設計しているので、表示される 4 つの抵抗値と 4 つの静電容量値の最悪の場合のセットが何であるかを知る必要があります。 |
| |
そして、私たちにとって最悪のケースは、低抵抗/高静電容量、および高抵抗/低静電容量の組み合わせとして定義されます。 わかりやすくするために、 |
| |
8 つの変数があり、4 つの低抵抗値と 4 つの高静電容量値の同時境界が必要になる場合があるため、デバイスの設計に使用できます。 また、最悪のケースは 95% の信頼度または 99% の信頼度として定義される可能性があり、最終的にはユーザー次第です。 |
| |
さて、この問題を説明するために、抵抗値と容量値を 1 つだけ使用してみましょう。 X 軸に抵抗、Y 軸に静電容量があり、2 つのことを知りたいと考えています。 最悪のあの黄色い星を知りたい |
| |
低抵抗/高静電容量の組み合わせで、紫色の五角形、高抵抗/低静電容量の組み合わせを知りたいのです。 |
| |
さて、私たちの問題に関して、これら 8 つの変数、これら 8 つの応答は独立していないことを認識していることを指摘したいと思います。 それらの間にはいくつかの相関関係があります。 |
| |
さらに、これらの応答はそれぞれ、正規分布または多変量正規分布に従う場合と従わない場合があります。 |
| |
このような質問をよくいただきます。 つまり、一度解決して終わり、二度と関わらないということはしたくないのです。 こんな質問を受けます |
| |
そのため、使いやすく堅牢なソリューションが本当に必要です。 私たちの場合、非常に幸運なことに、少なくとも 400 ポイントという比較的大きなデータ セットを持つ傾向があり、通常は |
| |
1,000ポイント。 そして、私たちにとって、実用的なソリューションは、その裏に統計的手法がある限り機能します。 したがって、前のグラフに戻ったとしても、そのグラフにダーツを投げて、それがどこに落ちても次のように言うつもりはありません。 |
| |
それは最悪の事態になるだろう。 その裏にもう少し詳しく説明していただきたいと思いますが、99% であるか 95 % であるかにかかわらず、最悪の場合の定義は必ずしも存在しないことを指摘しておきたいと思います。 |
| |
そして、実際に動作し、将来的に問題が発生しないデバイスを確実に設計するためには、少し保守的になる方が良いこともわかっています。 |
| |
さて、この種の問題はどの業界でも起こり得ることを示すために、完全にでっちあげの例を共有したいと思います。 |
| |
そこで、教室用に調節可能な机を作り、人口の 99% がその机を使えるようにしたいと想像してください。 |
| |
人の身長と人の幅。 |
| |
さて、JMP を使用すると、いくつかのサンプル データが付属しており、それらのデータ セットの 1 つは BigClass と呼ばれます。 BigClass では、 |
| |
そこにいる何人かの生徒とその身長と体重。 そのため、そのデータセットを使用して、人口の 99% を占める身長と体重の限界を決定することができます。 |
| |
この右下のグラフを見ると、点が表していることがわかります...各点は 1 人の生徒の身長と体重の組み合わせを表しています。 |
| |
さて、問題に戻りますが、 |
| |
私たちが改善できると信じている現在のアプローチは、抵抗と静電容量の 95% または 99% の予測限界を独自に見つけることです。 |
| |
そして、この例では、1 つの抵抗と 1 つの静電容量だけを調べていますが、2 つの別々の限界が見つかります。 |
| |
したがって、例として、抵抗値の 95% 予測限界値 (4.52 と 4.97) を見つけます。これは濃い青色の線で示されています。 |
| |
そして、静電容量の 95% の予測バランス (緑がかった青色の線で示される 15.6 と 16.5) を見つけて、黄色の星と紫の五角形を得る組み合わせを見つけます。これが最悪のケースになります。 |
| |
さて、このアプローチには少し懸念があります。 そして最初の懸念は、タイプ I のエラー率に関するものです。 そこで、抵抗 1 の 95% 限界と抵抗 1 の限界 95% を見つけたとき... |
| |
静電容量 1 については、変数が 8 つあることに注意してください。全体的には、95% ではなく、信頼レベルがわかっています。 それが何であるかは、変数の相関関係によって決まります。 |
| |
現在はアルファ調整を行うことでこのハードルを乗り越えることができますが、私たちにとってもう少し大きな懸念がある別のハードルについてお話したいと思います。 |
| |
さて、この黄色の円で示される高/高の組み合わせに興味がある場合はどうなるでしょうか? |
| |
この特定の例では、この最悪の場合の境界に近いデータがないことがわかります。そのため、これを使用する場合、これは非常に保守的です。 |
| |
デバイスを設計するときは、コストと時間の要素が関連するため、少し保守的になる必要がありますが、この黄色の円を使用するほど保守的になることは望ましくありません。それに関するデータポイントはまったく得られていません。 |
| |
この問題の解決策として検討したい、JMP で簡単に実行できる代替アプローチがいくつかあります。最初のアプローチは密度楕円です。 |
| |
これは Y x X フィット プラットフォームにあるため、二変量フィットで赤い三角形に到達すると、密度楕円を選択できます。この場合は 95% 楕円を選択しました。 グラフ上の赤い楕円がわかります。 |
| |
さて、JMP がこの密度楕円を提供するとき、プレゼンテーションの右下隅を見ると、2 つの変数の平均標準偏差と相関関係が表示されます。 |
| |
そして、JMP が提供していないのは、楕円の方程式です。 さて、これは私たちが乗り越えられるハードルです。 それを解決するには、いくつかの数学を行う必要があります。 |
| |
しかし、より大きなハードルは、変数が 3 つ以上ある場合に何が起こるかということです。 この場合、JMP には簡単なオプションがありません |
| |
私たちがこの問題を解決するために。 したがって、ペアごとの楕円を実行することも、一度に 2 つの変数を実行することもできますが、同じアルファ問題が発生することになり、どの点を ??? として使用するかを選択するのはかなり困難になります。 |
| |
さて、このアプローチにはもう 1 つの非常に小さな懸念があります。それは、その高/高コーナーまたはその黄色の円に興味がある場合はどうなるかということです。 楕円上のどの点を選択すればよいでしょうか? |
| |
もう一度言いますが、これは乗り越えられるハードルだと思います...乗り越えることはできますが、2 つ...変数が 3 つ以上ある場合、それはかなり難しいハードルです。 それが簡単に解決できるかどうかはわかりません。 |
| |
わかりました。私たちができる別のアプローチがあります...私たちは...JMP で簡単に実行でき、それが主なコンポーネントです。 |
| |
主成分は新しい変数を作成し、JMP はそれらに Prin 1 と Prin 2 というラベルを付けます。 |
| |
新しい変数が互いに直交するようにします。 そして、それらが直交しているという事実を利用して、最悪の場合の限界を解決することができます。 |
| |
これは多変量メソッドのプラットフォームにあるため、多変量メソッドの主成分を分析する場合は、これらの主成分を要求できます。 |
| |
主成分アプローチに関する懸念は、変数が 3 つ以上ある場合に計算が非常に困難になることです。 |
| |
さらに、理論的には、主成分は次元を削減しようとするため、言い換えると、この最悪の場合の同時...同時限界を見つけようとする変数が 8 つある場合、 |
| |
しかし、JMP は戻ってきて、「わかった、何が起こっているのかを説明するのに役立つ 3 つの主要な原則を見つけた」と言うかもしれません。 |
| |
その場合、方程式が 3 つあり、未知数が 8 つあるため、問題を解決するのが非常に困難になります。 そのため、この主成分アプローチは使用しません。 |
| |
それでは、私たちはどうなるでしょうか? したがって、私たちの目標は、同時の最悪の場合の境界、つまり高/高、低/高、または低/低/高/高の組み合わせを見つけることです。 |
| |
問題の解決に JMP を使用したいと考えています。 3 つ以上の変数を処理できる必要があります。 |
| |
各変数は正規である場合もあれば、そうでない場合もあります。 ある程度の相関関係が予想されます。 良いニュースとしては、比較的大規模なデータセットが存在する傾向があるということです。 |
| |
私たちは、このコーナーに依頼したのであれば、そこら中にデータがあり、データがない状況に陥っていないことを確認したいと考えています。 また、簡単で実用的な解決策で十分な場合もあります。 |
| |
さて、私が今やりたいことは、概念を説明することです。そして、その概念が問題を解決するためにどのように使用されるかを説明します。 |
| |
そこで、K 最近傍アプローチと呼ばれる概念があり、そのアイデアは、点があり、その点から他のすべての点までの距離を見つけるというものです。 |
| |
次に、点の k 最近傍点、つまり最短距離の k 点を決定します。 このことを理解するために、例を見てみましょう。 それでは、赤で強調表示されている点に焦点を当てましょう...その濃い赤とその座標は |
| |
4.51と15.66。 座標が 4.67 と 15.54 である青色の点を取得すると、それらの点間の距離がわかります。 |
| |
または、最近隣の考え方は、赤で示された点についてのもので、データセット内の 1 つおきの点でその点からの距離を見つけることができます。 |
| |
そして、距離を最小から最大まで並べ替えて、必要な距離を取り出すことができます。 |
| |
たとえば、k=2 のとき、赤の点に最も近い 2 つの点を知りたい場合、それらはピンクの 2 点であり、それらが赤の点に最も近い点であることがわかります。赤いもの。 |
| |
さて、私が今やりたいことは、解決策を徹底的に話し、それから大まかなレベルで話してから、速度を落として手順を見ていきたいと思います。 したがって、私たちのソリューションは、大規模なデータセットがある場合に基づいています。 |
| |
まず、各変数の中央値 +/-3 標準偏差を見つけることができます (mmean も使用できることを指摘しておきます)。 |
| |
そうすることで、ターゲット コーナー、または望ましいコーナーと呼ばれるものを定義します。これは、各変数の最高点の低い方に基づいて、最も低い方が最高です。 |
| |
次に、各点から対象の角までの距離を求め、距離を最小から最大の順に並べ替えます。 |
| |
そして、私たちのケースでは、ニーズに応じて (これについては次のスライドでもう少し詳しく説明します)、k 最近傍をターゲットのコーナーに移動します。 そして一般に、望ましい信頼度を表す k 近傍を収集できます。 これについては、後ほどもう少し詳しく説明します。 |
| |
次に、k 近傍の平均をとり、それが解となります。 |
| |
さて、ここでのアイデアは、2 つの変数から始めて、平均 +/-...すみません、中央値 +/-3 標準偏差を見つけ、平均を使用することもできます。 |
| |
そうすることで、それらをターゲット コーナーと呼びます。つまり、ロー/ハイ コーナー、ペンタゴンの黄色の星であるハイ、ロー コーナーに興味がある場合、それらは、いわゆる彼女が定義したターゲット コーナーとして開始されます。 |
| |
次のステップでは、すべてのデータ ポイントを取得し、データ セット内のすべてのポイントから対象のコーナーまでの距離を見つけます。 |
| |
これらの距離を取得したら、最小値から最大値の順に並べ替えます。 |
| |
そして、この特定の例では、ターゲットのコーナーに最も近い k 最近傍を見つけます。 例として、5 つの点を黄色で示します。 |
| |
は黄色の星に最も近い 5 つの点であり、紫色の 5 つの点は紫の五角形に最も近いです。 |
| |
次に、これら 5 つのポイントの平均をそれぞれ取得します。その際、これらの黒い楕円は、最悪の場合の値として使用するものを表します。 |
| |
そして、それをデバイスの設計に使用します。 |
| |
ここで、密度楕円とこれらのターゲットの角との相対的な点を示したいと思います。黄色の星と紫の五角形が私たちの元の方法です。 |
| |
そして、密度楕円は悪くなく、少し良くなっていることがわかります。 そして、この特定のソリューションの本当に優れている点は、その近くにデータ ポイントがあり、それがまさに設計どおりであることです。 |
| |
さらに、これは私たちにとってあまりにも保守的ではないため、デバイスを設計するときにこの追加コストを支払う必要はなく、データの分散について心配する必要もありませんでした。 問題をどのように解決するかには、相関関係はまったく関係ありません。 |
| |
わかりました。高値/高値および下限/低値の境界、つまり水色の五角形または濃い青の星に興味があるとします。 この方法も同様に機能します。 |
| |
そして、黒い楕円で示されているのが、私たちの解決策であり、ここにもデータ ポイントがあるということです。 |
| |
したがって、私たちにとって、これは素晴らしいアプローチです。なぜなら、特に現在のアプローチと比較して、保守的すぎないからです。 少し保守的かもしれませんが、この五角形と星ほど保守的ではありません。 |
| |
先ほど、私はそれにどのようにアプローチするかについていくつかコメントしましたが、いくつかの選択肢があるので、ここで K の選択について議論したいと思います。そして、平均をとるべきでしょうか? |
| |
そして私にとって、K はあなたの自信レベル、サンプルサイズ、そしてあなたの哲学の種類に基づいている可能性があるので、説明させてください。 |
| |
例として、1,000 個のデータ ポイントがあり、95% の信頼度が欲しいとします。 |
| |
その場合、2 つのコーナーで 25 番目に近い距離を取得すると、ローサイドまたはロー/ハイサイドで 2.5% アウト、反対側で 22.5% アウトとなり、合わせて 95% を獲得したことになります。自信。 |
| |
したがって、25 番目に近い距離を取得すれば完了です。 それは 1 つのアプローチです。 23、24、25、26、27 番目の距離を取得して平均することもできます。 |
| |
そして 5 つの値の平均をとり、それをアプローチとして使用します。 したがって、それに対処する方法がいくつかあります。 |
| |
私たちの特定のニーズでは、やはりサンプル サイズが非常に大きいため、少し保守的になる必要があり、95% または 99% の信頼度に基づいて行動することはありません。 説明の目的として、 |
| |
右側のグラフのオレンジ色の円は、たとえば 95% 信頼区間を表しており、たとえば、5 点の平均、あるいは 25 番目に近い距離である可能性があります。 |
| |
そして、私たちがやるべきことは、そのアプローチを使用する代わりに、実際に最初の 25 ポイントの平均を取ることであり、そうすることで、最終的に黒い楕円ができあがり、それらが外側に移動して、それが成功していることがわかります。もう少し保守的です。 |
| |
したがって、私たちはそれを設計上、もう少し保守的に行っています。 |
| |
繰り返しますが、それは選択であり、私たちにとって良いのは、現在のアプローチである望ましいコーナーほど保守的ではないことです。したがって、そこには多少保守的な性質がありますが、私たちは徹底的に保守的ではありません。 |
| |
大丈夫。 では、このアプローチの長所と短所は何でしょうか? 利点は、変数の分布を知る必要がないことです。 |
| |
いくつかの相関変数や従属変数を簡単に処理でき、複数の変数、特に 3 つ以上の変数を簡単に処理できます。 |
| |
そのソリューションに近いデータが存在し、その一部が大きなデータ サイズに依存していることはわかっているので、JMP のアドインでスクリプトを構築して計算を簡単に実行できます。 |
| |
マイナス点は、適切なサイズのデータセットが必要なことです。たとえば、99% の信頼水準、実際に高い信頼水準が必要な場合、実際には大量のデータが必要になるからです。 |
| |
わかりました。これがアドインの外観、このユーザー インターフェイスです。左上隅に使用可能な変数が表示されます。 |
| |
次に、入力した高い側では、たとえば、抵抗の高い値が必要であり、それが緑色で強調表示されます。 紫色の強調表示に進むと、低い側にいくつかの値を追加できるため、この例では、低い静電容量の組み合わせが必要になると言えます。 |
| |
次にあなたがしなければならないことは、あなたが望む自信を入力することです。 |
| |
また、リコールボタンも付いているので、便利です。 |
| |
そしてチームのロゴが入っており、アイテムを素敵でプロフェッショナルに見せています。 |
| |
このアドインを実行すると、スクリプトがトリガーされ、出力が JMP テーブルになります。 |
| |
この JMP 表で、この緑色の強調表示で最初に指摘したいのは、8 つの変数すべてについて、中央値、標準偏差、およびそれが低い側か高い側かを取得していることです。私たちは興味がありました。 |
| |
そこから目的のコーナーを構築します。これは、低い側では中央値から標準偏差の 3 を引いたもの、高い側では中央値に標準偏差を 3 加えたものになります。 そして再び紫色になっていますが、これが私たちがターゲットとしているコーナーです。 |
| |
次に、すべての点の距離を求めることです。 |
| |
憧れのあのコーナーへ。 次に、この例では、目的の角に最も近い 5 つの点、つまり近傍値を見つけます。 これらは 5 つの値のベクトルになります。 近隣インデックスについては、次のスライドでもう少し詳しく説明します。 |
| |
次に、青で、これら 5 つの最も近いものの平均を取得し、それが問題の解決策となります。 したがって、青の列は最悪の場合の値、またはデバイスの設計に使用する最悪の場合の値です。 |
| |
ここには近隣 Z スコアと呼ばれる列もあります。これは、近隣の平均値、つまり解を取得し、逆方向に計算して、中央値から標準偏差が何個離れているかを確認します。 |
| |
なぜそうするのかというと、もともとのアプローチがこの中央値プラスマイナス 3 標準偏差をおおよそ取ることだったからです。 |
| |
そして、私たちが発見したのは、望む結果を得るには、実際にははるかに小さい乗数を使用できるということです。 したがって、これは、現在の方法がどれほど保守的であるか、または過度に保守的であるかを知るのに役立ちました。 理解を助けるだけで、計算には使用されていません。 |
| |
はい、近傍について言及しました...すみません、近傍インデックスについてです。 そこで、右上で 109 と 126 を紫色で強調表示しました。 |
| |
これはデータの行に対応します。 したがって、このアドインを実行すると、JMP テーブルが取得されます。 |
| |
これにより、5 つの最近傍を表す 5 つの行がわかります。 |
| |
また、元のデータセットでもそれらを選択します。 そして、これの良いところは、色分けが簡単になることです。 先ほど、黄色の例を示しましたので、黄色が 5 つ、紫が 5 つになります。 |
| |
このアドインを実行すると、アドインの実行直後に色を変更するだけで簡単になります。 |
| |
さて、8 つの変数の出力は次のようになります。 |
| |
ご覧のとおり、緑色の点は低抵抗/高静電容量値を表し、赤色の点は高抵抗/低静電容量値を表します。 このグラフの右下の紫色で強調表示した部分を指摘しておきたいと思います。 |
| |
たとえば、緑と赤の点がわかりますが、それらは特定の変数の極端な点ではなく、それがこの問題の同時側面です。 |
| |
実際には、8 つの変数すべてにわたって問題を解決しています。 したがって、変数によってはそれが極端になる場合もあれば、そうでない変数もありますが、それは問題ありません。 |
| |
しかし、繰り返します...そうすることで、変数間の関係を理解するのに役立ちます。これは、最終的な解決策が何であるか、最悪の場合...最悪の場合の値がグラフィカルに表示されることになります。 |
| |
さて、アドインを説明するために BigClass データ セットに戻ると、これは小さなデータ セットであることを認識したいと思います。 これは説明のみを目的としています。 スクリプトを実行して高/高側を要求することも、実行して低/低側を要求することもできます。 |
| |
これをもう一度行うと、前と同じように、中央値と標準偏差が得られます。 境界を見つけるために使用します。 |
| |
それが私の希望するコーナーです。次に、その境界に最も近い 5 つの隣接点を見つけます。 緑色で示されているのが実際の値で、グラフ上では黄色と紫でプロットされています。 |
| |
近隣インデックスは行を参照するため、データをすばやく色分けすることができます。 |
| |
近隣の平均は黄色の星と紫の五角形であり、それが問題の解決策になります。 また、Z スコアを実行するのは、この方法がどれほど保守的であるかを内部的に把握するためです。 |
| |
さて、この時点では、スクリプトのいくつかのポイントを強調したいと思います。 したがって、スクリプトを作成したとき、右上に見られるように、このパネル ボックスを作成したことがわかります。 |
| |
そして、水色は、ユーザーに、高い側で見つかった変数と低い側で見つかった変数を入力するように依頼する場所です。 |
| |
その銅っぽい色は、パーセンタイルの入力を取得する場所であり、実際には数値です。 |
| |
222 行目と 223 行目からもわかるように、これがリコール関数を構築しているものです。 |
| |
そうですね、私たちがやりたいことの 1 つはデータ品質チェックです。そのため、できる限り間違いがないよう、エラーを防止したいと考えています。 |
| |
したがって、たとえば、信頼度レベルを数値として入力する必要があるため、それが 0 ~ 100 の範囲内であることを確認するチェックが行われます。そうしないと、入力を変更する必要があるというエラー メッセージがユーザーに表示されます。 |
| |
同様に下部でも、これを実行するには下位リストまたは上位リストに何かが必要なので、何かが入力されていることを確認するためにこれらのデータ チェックがあります。 |
| |
さて、次にやることは、sumcols 関数と呼ばれるものを作ることです。 |
| |
sumcols 関数は過去の列をループします。 つまり、入力した最低値と最高値を取得します。 |
| |
そして、私たちにとって重要な情報を含む辞書または連想配列を返します。 それで、右側と右下を見ると、 |
| |
すみません、右下を見ると、たとえばオレンジ色でデータ型に関する情報を収集します。 |
| |
データ ポイントの数、中央値、標準偏差は何か。 紫色では、その計算が行われ、希望の値が得られます。 |
| |
コーナーまたはターゲットコーナー、これを境界と呼びます。 そして青色の AA は連想配列で、次のステップに必要なすべての情報をもたらしたり、保存したりします。 |
| |
さて、ここからは距離の計算を開始します。 青いハイライト部分でわかるように、 |
| |
それは低い側であり、その真下に行くと、それは高い側になります。 各点から対象のコーナーまでの距離を求め始めます。 |
| |
そして、先ほど示した計算を行う必要があります。二乗してから平方根をとりますが、本質的にはポイントから 3 シグマまでの距離を求めているだけです。 |
| |
そして最後に、それらを並べ替え、それらの距離を順序付けし、必要なものを取り出すプロセスを実行します。 |
| |
オレンジ色の強調表示で指摘したいのは、6、7、8 です。 |
| |
私たちは脚本を書くときは必ずコメントをもらえるよう最善を尽くします。 そして時々、ある人がスクリプトに取り組んでいるとき、残念なことに、その人は別のものに引っ張られてしまい、他の人が |
| |
完成させたので、他の誰かが引き継いで、何が起こっているのかを本当に理解できるように、これらのコメントがあるのは本当に素晴らしいことです。 |
| |
さらに、これらのコメントは、たとえあなたがその作業に唯一取り組んでいたとしても、数年後、その作業に戻らなければならなくなった場合に、各ステップが何をしていたかを覚えているという点で素晴らしいことです。 したがって、私たちはコメントを入れるために最善を尽くします。 |
| |
さて、最後に、私たちがやることは、ご存知のとおり、低位側と高位側を実行して、辞書にいくつかの値を返すことですj。 青色で示されているように、最小近傍を取り除いて、それが出力に現れたベクトルです。 |
| |
次に、それらの平均をとり、それが解決策になります。それはオレンジで起こっています。 ほんの一例として、紫色で示されているのは Z スコアです。 情報を取得したら、それらすべての距離を整理し、 |
| |
次に、必要な情報を取り出して、独自のテーブルを構築します。 |
| |
さて、これをすべてまとめます。 私たちの動機となる問題は、デバイスの設計に役立つこれらの同時最悪の場合の境界を見つけたいと考えていたことですが、現在のソリューションは保守的すぎるということです。お金も時間もかかります。 |
| |
そして、この問題を解決しようとすると、データが多変量正規分布に従う場合と従わない場合があり、データが独立していないことがわかります。 |
| |
そして、これが頻繁に発生するためには、できれば JMP を使用した単純な解決策が必要です。そのため、私たちの解決策は次のとおりです。 |
| |
使いやすい JMP アドインを構築することでした。このアドインは、k 最近傍概念を使用し、出力が理解しやすく、色分けできるグラフを迅速に構築して他の人に表示できるようにするのに役立ちます。 |
| |
わかりました、ありがとうございました。 |