スピーカー
|
成績証明書
|
| ジョシュア・W・ランバート |
こんにちは。 |
| ロビン・ゴドフリー |
こんにちは、私はロビン、ジョシュです。 |
| |
はい。 |
| ロビン・ゴドフリー |
ネオ。 |
| ジョシュア・W・ランバート |
はい、初めまして、申し訳ありませんが、ここでパワーポイントを開いたところです。 |
| ロビン・ゴドフリー |
わかった。 |
| |
共同発表者はいますか。 |
| ジョシュア・W・ランバート |
いいえ。 |
| ロビン・ゴドフリー |
わかりました、ここのリストの下の方に行きますが、私たちはこれを記録しているので、あなたが記録されていることを知っていることを口頭で私に肯定してください。 |
| |
はい。 |
| ロビン・ゴドフリー |
携帯電話のインターネット通知は停止されます。 |
| ジョシュア・W・ランバート |
はい。 |
| ロビン・ゴドフリー |
そうですね、私は Windows のタスクバーなどに似ていると思います。確かに、メールが途中で消えてしまうようなものです。 |
| ジョシュア・W・ランバート |
そして、私がすべてをオフにしたと思いませんか、彼らはこれまでそうする必要がなかったのです。 |
| ロビン・ゴドフリー |
タスクバーにあると思います。 |
| |
ここで見てみましょう。 |
| |
メールを閉じるだけで大丈夫です。 |
| |
わかった。 |
| ジョシュア・W・ランバート |
タコスを手に入れた。 |
| ロビン・ゴドフリー |
分かった、よかった、ここに身を隠すことにする。 |
| |
これをするためには、これをするたびに、そうしなければなりません、好きにならなければなりません さて、私は何をしましたか。 |
| ジョシュア・W・ランバート |
それで。 |
| |
プレゼンテーションに関する限り、皆さんは私が始めた時点からカットすると思います。 |
| |
はい、何か質問がありますか、または。 |
| ロビン・ゴドフリー |
いいえ、いいえ、だからあなたは私と同じようにいつものようにプレゼンテーションをするだけです。 |
| |
スライドなどすべてを表示することを知っているだけです。 |
| |
最初に話してからスライドを表示したい場合は、最初からやり直す必要がある場合や、そのようなことが必要な場合は、私に知らせてください。大したことではありません。 |
| |
さて、あなたはカメラであるかのように小さなクリップです、あなたが本当に近くにいるので少しだけ後退する方法はありますか? |
| |
あなたの顔全体を見ることすらできない、私には見える。 |
| ジョシュア・W・ランバート |
私が忘れていたことを知りました。 |
| ロビン・ゴドフリー |
そう、ちょっとだけ。 |
| |
あるいは、カメラの位置を少しだけ下げてください。 |
| |
それは良い。 |
| |
それはいいですね、あなたの肩などがもっと見えるようになりました。 |
| |
それで、私はミュートにするつもりなので、数秒ほど待ってください。その後、大丈夫です。 |
| |
準備ができたら始めてください。 |
| |
素晴らしい。 |
| ジョシュア・W・ランバート |
こんにちは、みんな。 私の名前はジョシュ・ランバートです。 私はシンシナティ大学の助教授で、約 10 年間 JMP ユーザーです。 |
| |
そして、実現可能解アルゴリズムと呼ばれる私が開発したアルゴリズムを使用する、私が構築したアドインを使用して、回帰モデルの相互作用を調査することに関して私が行ってきたいくつかの作業を皆さんと共有できることを嬉しく思います。 |
| |
それで |
| |
今日お話しする内容の一部です。 そこで、議論の動機となる小さな例から始め、私が取り組んできたこと、問題の概要について説明します。 |
| |
潜在的な解決策。 |
| |
次に、ソリューションを R パッケージに実装し、それを JMP アドインに移行した方法と、そのために行ったプロセスについて説明します。 そして、今後の取り組みとその過程で学んだことについてお話します。 |
| |
それでは、今日の議論を少し例を挙げて説明しましょう。 このトムをデータサイエンティストと呼ぶことにします。 それでトムに会いましょう。 彼はデータ サイエンティストであり、典型的なデータ サイエンス活動を数多く行っています。具体的には、JMP で多変数回帰モデルを構築しています。 |
| |
彼は主に多くの変数を含む表形式のデータを扱いますが、これらの多変数回帰モデルには複雑さが欠けていること、具体的には交互作用項や二次項が欠けていることに気づきました。 |
| |
そしてトムは...それがトムをイライラさせます、そしてトムは機械学習にすぐに取り組みたくありません。 |
| |
そこで彼は、回帰モデルで交互作用効果を調査する方法があればいいのにと考えています。 |
| |
彼はテストしたいインタラクションを持っていますが、それらを JMP の適合モデル プラットフォームに手作りする必要があります。 |
| |
これらすべてを実行するには、非常に時間がかかります。 したがって、たとえば、トムのデータセットに 200 個の変数があり、すべての双方向交互作用を探す必要がある場合、19,900 個の双方向交互作用をチェックする必要があります。 それはちょっと多すぎますね。 |
| |
そこでトムは、回帰モデルをすべて手作業で作成したり、考えられるすべての組み合わせを確認したりせずに、回帰モデルの相互作用効果を調査するためのアルゴリズムとデータ駆動型の方法はあるだろうかと疑問に思いました。 |
| |
そこで、数学的および統計的にもう少し厳密な方法でこの問題を概観してみましょう。 つまり、問題の量と複雑さの問題があるということです。 |
| |
ボリュームと複雑さ |
| |
今後も非常に速いペースで成長していくでしょう。 私たちが利用できるデータは常に増えており、これらのデータの複雑さも増しています。 |
| |
インタラクションの問題は、インタラクションが多すぎて確認できないことです。 |
| |
通常、データ サイエンティスト、統計学者、科学者は、既知の一連の相互作用を使用して分析に参加して確認する必要があります。 |
| |
続いてチェックを進めます。 これはさまざまな点で問題です...さまざまな理由がありますが、 |
| |
つまり、どのようなインタラクションが存在するのか、あるいは存在しないのかについてよく分からないため、データ内でインタラクションを調査できるようにしたいと考えています。 |
| |
ランダム フォレストや、ある種のデータ削減を行うための主成分分析などのモデルにアクセスする必要がなく、そこでさらに複雑な作業を行うことができます。 回帰モデルを構築するときに、途中でさまざまな作業を実行できるようにしたいと考えています。 |
| |
したがって、ランダム フォレストと主成分、および他の機械学習タイプのタスクに関するもう 1 つの問題は、これらのものが解釈するのが難しいことが多いため、次のことを追加したいと考えています。作業中は回帰モデルの解釈可能性を維持する必要があります。インタラクションを探索しています。 |
| |
したがって、通常、回帰中のワークフローは |
| |
そのため、統計学者は、必要な変数を備え、相互作用効果が追加されていない、倹約的な、いわゆる基本モデルを構築するのに多くの時間を費やします。 |
| |
この基本モデル、統計学者はこの基本モデルに多くの時間を費やし、多くのリソースを費やし、それらが解釈可能かどうか、文脈上意味があるかどうかを検討することに時間を費やします。 |
| |
複雑さを含まないこれらの基本モデルの問題は、推定している効果が性別、人種、年齢などの考えられるすべてのサブグループにわたって一貫していると仮定していることですが、通常はそうではありません。真実。 |
| |
この複雑さの欠如 |
| |
この複雑さをモデル化するのに非常に優れた仕事をする機械学習モデルと比較すると、実際には人々がそれを使用することができなくなります。 したがって、この問題は実際には次のように要約できます。 |
| |
従来の多変数回帰モデルに行き着くことなく、機械学習モデルに行き着くことができない方法はあるのでしょうか? |
| |
しかし、中間に素晴らしいスイート スポットを見つけて、1 つまたは 2 つの相互作用を追加する回帰モデルの優れた解釈可能性を得ることができます。 |
| |
これにより、モデルと複雑さに興味深いニュアンスを追加することができ、これにより、予測パフォーマンスと適切なコンテキスト感覚が追加されます。 |
| |
したがって、それを行う方法がある場合、私たちが本当にしたいのは、統計学者、データサイエンティスト、調査員が基本モデルを構築した後に相互作用を調査できるツールを開発することです。 |
| |
基本モデルが最初に実行され、次に複雑さの調査が通常は 2 番目に実行されます。 |
| |
したがって、このようなツールを開発する場合には、いくつかの制約と好みがあります。 私たちは、従来の統計モデルである線形ロジスティック回帰に基づいて、 |
| |
解釈可能なままにしておきたいと考えています。 可能であれば、チェックするモデルの数を減らし、最適性よりも実現性を優先したいと考えています。 それが何を意味するかについては後ほど詳しく説明しますが、本質的には次のような意味です。 |
| |
私たちは、優れた、いわゆる実現可能なソリューションが 1 つだけあるのではなく、多数のソリューションが存在することを望んでいます。 |
| |
そして、それが柔軟であることも望んでいます。 線形回帰、ロジスティック回帰、コックス比例回帰を使用できるように適応させることができます。 このフレームワークまたはツールは、ポアソン回帰やあらゆるタイプの回帰に使用できます。 |
| |
そしてやはり、従来の統計手法と機械学習のハイブリッドになるでしょう。 これから出てくる結果は必ずしも推論的なものではありませんが、探索的なものであり、私たちが将来何に時間を費やすかを動機付け、影響を与えるでしょう。 |
| |
それでは、この潜在的な解決策、つまり実現可能な解決策のアルゴリズムについて説明しましょう。 |
| |
アルゴリズム...実行可能解アルゴリズムは FSA とも呼ばれます、または私がそう呼びたいのですが、 |
| |
はこの論文で最初に議論されました...本当に最初に詳細に議論されたのは、私が 2018 年に書いたこの論文でした。 |
| |
そして |
| |
ここでアルゴリズムが何をするのかをまとめます。 |
| |
したがって、アルゴリズムの目標は、次数 m の相互作用を特定することです (つまり、m が 2 の場合は双方向の相互作用、m が 3 の場合は三方向の相互作用になります)。 |
| |
実現可能な基準があるため、それが必ずしも最良の基準であるとは限りませんが、 |
| |
基準、つまり |
| |
ある意味では半最適と考えられるかもしれません。 |
| |
したがって、これを行うには、次の手順に従います。 したがって、最初に行うことは、次数 m のランダムな交互作用から開始することです。この場合、それが双方向の交互作用であると仮定して、m が 2 であると仮定します。 |
| |
変数の 1 つのすべての交換と、他のすべての変数の相互作用を考慮します。 たとえば、ランダムに開始したとしましょう。 |
| |
変数が 5 つあるので、これは単なる小さな例であり、ここでのステップの動機付けにすぎません。ただし、変数が 5 つあり、X3、X5、およびそのランダムな開始位置の R の 2 乗である基準からランダムに開始するとします。 、.5です。 |
| |
そして、アルゴリズムが機能する方法として、変数 X3 または X5 の 1 つを他の変数と交換することを検討するとします。 したがって、私たちの選択は次のとおりです |
| |
X3 X1、X3 X2、X3 X4、X5 X1、X5 X2、および X5 X4。 すべての可能なスワップの中で、少なくとも 1 つの開始位置変数が含まれていることにご注意ください。 |
| |
そして、これから私たちがやろうとしていることは、これらすべてをモデルに適合させ、それらのモデルの基準が何かを理解することです。 ここでわかることは、 |
| |
X3 X5 モデルの場合は .5 です。 X3 X1、基準は .4 です。 |
| |
R の 2 乗を考えると、明らかにこれより悪い場所には行きたくありません。R の 2 乗がより高い、より良い場所に行きたいと考えます。そこで、考えられるすべての選択肢の中から、どこに行くのが最適な場所かを見つけます。 。 |
| |
この例では、移動するのに最適な場所はスワップ番号 3、つまり X3 X4 です。 したがって、私たちが行うことは、ステップ 3 に進み、ステップ 2 から最適な交換を行うことです。 |
| |
その場合、X3、X4 の位置に移動し、その後 2 番目に戻り、改善が得られなくなるまで繰り返します。 |
| |
したがって、すべての交換を考慮しながら、場所を移動し、そこから開始するというこのプロセスを繰り返し、最終的には改善できなくなります。 |
| |
そして、それを...最終的に実現可能な解決策と呼ぶことにします。 |
| |
そして、ステップ 1 から 4 を繰り返して、他の実行可能な解決策を見つけます。 これを何度も繰り返すことができますが、このプロセス、つまり実行可能な解決アルゴリズムは、場合によっては最適な解決策が得られることもありますが、最適な解決策が得られるという保証はありません。 |
| |
それでは、このアルゴリズムを使用することによる副産物のいくつか、つまり実現可能な解決アルゴリズムについて説明しましょう。 そして、これらは次のような論文で概説されています。 |
| |
私の同僚のエリオットは 2021 年に書いた論文の中で、先ほど述べたように、実行可能な解決策が、選択した基準に対して最適であるとは保証されていないと述べています。 |
| |
つまり、すべての最適解は実行可能ですが、すべての実行可能な解が最適であるわけではありません。 したがって、実行可能な解決策は、半最適な解決策の一種であり、適切な基準、実行可能な基準を提供しますが、必ずしも最適な基準を提供するわけではありません。 |
| |
ただし、これらの実現可能なソリューションの基準は、通常、最適なものに非常に近いため、かなり優れている傾向があります。 それらは最高のものほど優れていない可能性があります。 |
| |
多くの...これらの 4 つのステップを繰り返すと、潜在的に多くの実行可能な解が得られるため、このアルゴリズムを 10 回実行すると、4 つの実行可能な解が得られる可能性があります。 |
| |
10 個の実行可能な解決策が得られるかもしれません。 それは使用しているデータと、そのデータセットの共分散の分散に依存するため、少し異なります。 |
| |
どれだけの解決策が得られるかは未定です。 |
| |
これが、私たちが通常、実行可能な解のアルゴリズムを何度も繰り返すことをユーザーに勧める理由です。そうすることで、最適な解のアルゴリズムだけでなく、実行可能な解のアルゴリズムも取得できる可能性が高まり、確実に解を得ることができるからです。 |
| |
スペースを十分に探索しました。 そして、適切な確率で最適なものを取得するためには、ランダムな並べ替えを何回行う必要があるかについて説明した別の論文もあります (興味のある方は、ぜひ私に連絡してください)。 私たちには、 |
| |
それに関する理論論文も。 |
| |
しかし本質的には、これが機能する仕組みは、これらのインタラクションの一部がより魅力的になるということです。 彼らは...ベータ スペースが他のスペースよりも彼らを惹きつけるので、最終的に得られることがあるのは、たとえ |
| |
インタラクションは最適なものではなく、それが原因となる場合もあります...データがそれを導くこともよくあります |
| |
実現可能...実現可能なソリューション アルゴリズムを使用すると、最適な場所よりも頻繁にその場所に到達することがあります。これは、データの相関関係などが関係しています。 |
| |
それでは、R パッケージについて、そしてそれをどのように JMP アドインに移行したかについて話しましょう。 |
| |
それで |
| |
R パッケージは rFSA と呼ばれます。R をかなり広範囲に使用している人もいれば、まだ使用していない人もいると思います。 そして |
| |
R は非常に優れたプログラミング言語であり、統計プログラムでよく教えられるため、私が論文に取り組んでいるときにすぐに利用したのは R でした。 |
| |
このアルゴリズムを作成し、独自のデータセット内の相互作用を特定して探索できるツールをコミュニティに実際に提供するためです。 |
| |
そして、rFSA パッケージは、先ほど話したこの実現可能なソリューション アルゴリズムを実装します。 |
| |
大規模なデータセットでの相互作用に対応しており、このパッケージは R 二乗、調整済み R 二乗、AIC などのさまざまな基準の最適化をサポートしています。 |
| |
相互作用、P 値など。 また、線形モデルや一般化線形モデルなどのさまざまなモデリング戦略もサポートしており、コックス比例ハザード モデルなどの他のタイプのモデリングに簡単に適用できます。 |
| |
また、指定した回数だけアルゴリズムを繰り返すため、複数の解決策も提供されます。 |
| |
では、なぜ...このパッケージを JMP に移行する動機について少し話したいと思います。また、その理由、いつ、どのようにこれを行うつもりだったのかについて話します。 |
| |
最初の質問は、なぜこれを行うのかということです。 まずはやってみると楽しいですよ。 私はさまざまなプログラミング言語で書くのが好きです。 私は、JMP スクリプト言語 (JMP のバージョン) で書いた経験があまりありませんでした。 |
| |
それで私はそれを学びたかったし、4 年間の大部分を費やして開発したこの R パッケージを JMP に移行してみるのは楽しいだろうと考えました。 |
| |
私はJMPが本当に好きです。 JMPは素晴らしいと思います。 これは私と私のデータにとって本当に素晴らしいツールです |
| |
分析パイプライン。 私は通常、すべてのプロジェクトを JMP で開始し、データを調査し、プロットし、物事を観察することで、それらのデータについて多くの優れた直感を得ることができます。 そして、私は自分の多くのことを発見しました |
| |
同僚、特に私のアドバイザーの 1 人である彼は、主に JMP で働いており、いつも私に JMP の FSA パッケージを求めてきました。 |
| |
そこで私は、それを彼にあげてみたらどうだろうかと思いました。 彼は間違いなくそれに値するので、私はそれが良いツールになるだろうと決心しました、そしてできれば他の人もそうしてくれることを願っています |
| |
それを活用してください。 そして、これが、なぜこれを行うのかという別の論点につながります。rFSA については、多くの素晴らしいフィードバックを受け取りました。 |
| |
具体的には、私の R パッケージをダウンロードした人の数を追跡していますが、2019 年に公開して以来、16,000 人以上がダウンロードしました。 |
| |
私は世界中の人々から数え切れないほどの電子メールを受け取りましたが、JMP の人々も同じものにアクセスできるようにしたいと考えています。また、このアドインを通じて、人々が解釈の仕方を変えるような本当に素晴らしいやり取りを見つけられることを願っています。データとそれをどのように理解するか。 |
| |
そして、あなたはこう思うかもしれません、いつこれをするつもりだったのでしょうか? これは、誰かが私にお金を払ってやってもらうものではありません。 ご存知のように、JMP は私にそれをするためにお金を払っているわけではありません。 |
| |
私の現在の立場は、彼らが面白いと思ってくれるとは思いますが、私がこれに余分な時間を費やすことを彼らは必ずしも歓迎しているわけではありません。 |
| |
しかし幸運なことに、私が自分の立場に組み込まれているものの 1 つは、金曜日に自由時間があることです。 金曜の午後や金曜の朝は、ただ楽しむために空けておくようにしています。 |
| |
自分の仕事に関係のある楽しいこと。 私はそれを「楽しい金曜日の自由時間」と呼んでいます。ここ数か月間、私がやろうと決めたのは、楽しい金曜日の自由時間をとって、JMP アドインの構築に費やすことでした。 |
| |
「どうやってこれをやるつもりだったんだろう?」と疑問に思うかもしれません。 そうですね、私は JMP スクリプト言語を知りませんでした。 どうやってこれをやるつもりだったのでしょうか? それで |
| |
まず第一に、私はそれを学ぶつもりだったということです。 そのため、JSL の学習方法に関する非常に優れたリソースがたくさんあります。 |
| |
つまり、実際の JMP ソフトウェア自体の中に JMP JSL コードのサポートがあります。 ただ助けに行ってください、あなたはそうすることができます...すぐに行ってください |
| |
そこにあるスクリプトインデックス。 ネット上には無数のものが存在する |
| |
JMP スクリプト言語を理解する方法とどこから始めるべきかについて説明します。 そして、community.jmp.com があります。 |
| |
これは始めるのに非常に優れており、質問したり、人々が尋ねた他の質問を表示したり、人々が楽しめるように公開されているコードを借用したりすることができます。 ここで何度もそれをやりましたが、本当に素晴らしかったです。 |
| |
そこで、これらのそれぞれについてもう少し詳しく説明していきます。R パッケージを移動したり、独自のアルゴリズムを作成したり、独自の JSL コードを作成したりすることに興味がある場合は、 |
| |
どこから始めればよいかがわかるでしょう。 そして、これが完了したら、アドインの機能と使用方法を具体的に説明します。 |
| |
では、どうやってJSLを学ぶのでしょうか? そうですね、またできます... |
| |
JMP が提供する多数の JSL リソースを通じてそれを学ぶことができます。 そこで、彼らは 864 ページのスクリプトガイドを持っています。それはここにリンクされています。 |
| |
Google で検索して、この作業が終わった後にこれらのスライドを入手したり、これらのリンクを入手したりできるかもしれません。 JMP 内にはスクリプト インデックスがあり、ヘルプにアクセスしてからスクリプト インデックスを参照することができます。 皆さんのためにここに紹介しました。本当に使いやすく、使い始めるのが簡単です。 |
| |
JMPにお問い合わせください。 そこで私が最初にしたことは、JMP に連絡を取ることでした。 彼女の名前はルース・ハメルで、私はこう言いました、「これをやりたいのですが、どこから始めればいいですか?」 |
| |
彼女はそのアイデアについて私にサポートと励ましをくれました。 彼女はそれが素晴らしいと思って、私を JSL コードの専門家につないでくれました。 |
| |
彼の名前はマーク・ベイリーです。 そして、マークはこのプロセス全体を通して素晴らしかったです。 マークは、スクリプト言語に関する一般的なサポート、コードのレビュー、コードの一部の作成を手伝ってくれました。 |
| |
その一部から始めてください。 そして、私たちは過去数か月間、電子メールで約 22 回やり取りをしました。 そして |
| |
私のプロジェクトを喜んで手伝ってくれた直接の従業員に限り、JMP が私に提供してくれたリソース |
| |
素晴らしかったです。 つまり、これ以上のものは望めませんでした。 つまり、これまで他のプラットフォーム向けに何かを作成しようとしたときに、この種のサポートを受けたことはありませんでした。 JMP に敬意を表します |
| |
これが存在する主な理由です。それは彼らが素晴らしいリソースを提供してくれたからです。 |
| |
つまり、community.jmp.com では、そこで質問したり、回答を得たり、コードを借りたり、認定を取得したりできます。 |
| |
JMP スクリプト言語。 コミュニティでは、必要なものを何でも検索できます。Google に似ていますが、JMP 専用です。 |
| |
そして、何でも検索できるので、やりたいことを何でも JSL や JSL と入力することができます。おそらく、それについてはすでに誰かが投稿しているでしょう。 存在しない場合は、ディスカッション掲示板に追加できます。 |
| |
そして、コードの借用があります。これは、マークが私に渡したものの 1 つです。「コードの借用」です。 コミュニティ Web サイトにはたくさんのコードがあります。 |
| |
そして人々は理由があってそれを共有しました。 それで、私は...ここの右側は、実際に私が開発したアドイン用に借用したものです。 ユーザーに自分がどこにいるのかを知らせたかった |
| |
アルゴリズムの実行と、それにどれくらい時間がかかるか、またはすでにどれくらいの進歩が起こったかという点で。 |
| |
それで、JMP で独自の進行状況バーを書きたくなかったので、コミュニティ ボードにあった進行状況バーを借用して、そのままアドインに追加しました。 |
| |
JMP の退職スタッフである Craige Hales という人がこのコードを書いたので、それを借りました。 ありがとう、クレイジ。コードの借用を勧めてくれて、Mark に感謝します。 時間を大幅に節約できたので、本当に感謝しています。また、アドインの改良により、アドインが大幅に改善されました。 |
| |
それでは、最後にアドインについて説明しましょう。 このアドインがなぜ必要なのかについてお話しました。 他の人は R パッケージを利用していますが、なぜ JMP ユーザーが R パッケージから恩恵を受けると私が考えるのか、そして私がそれをどのように行ったかについてお話しました。 |
| |
ここで、それがどのように機能するかを実際に示したいと思います。これがこの全体の中で最も楽しい部分であると思います。 そこで、私はこのパッケージ全体 (R パッケージ) を数か月かけて JMP に移行しました。金曜日の楽しい自由時間に、金曜日のほんの数時間です。 そしてJMPアドイン |
| |
現在、線形回帰モデルとロジスティック回帰モデルでのみ機能します。 後で他のモデルにも拡張できることを願っていますが、現時点では線形回帰モデルとロジスティック回帰モデルで機能します。 もう 1 つは、アドインです。 |
| |
他の組み込み JMP モジュールにあるような派手な付加機能はあまりありません。 たとえば、カテゴリ変数を応答変数に入力しても、性格タイプは自動的にロジスティック回帰に切り替わりません。 |
| |
私はそれを回避できていません。 他にも私が理解できていないことがたくさんありますが、人々がこのパッケージを使用し、気に入ってくれたり、フィードバックをくれたりするにつれて、このパッケージを改善していきたいと思っています。 |
| |
したがって、いくつかの機能が欠けています。 そして、アドイン マネージャーの優れた点は、JSL コードを取得するだけでアドインが存在することです...アドイン マネージャー、JMP アドイン、 |
| |
これにより、JSL コードから独自のアドインを作成できるため、ボタンを数回クリックするだけで、JSL コードを取得して、JMP コミュニティ全体と共有できるアドインに変えることができます。 |
| |
そして、誰もが外に出て、これから紹介するアドインにアクセスできるように、これを Community.jmp.com Web サイトに投稿しました。 |
| |
そして、同様に使用するデータセットにアクセスします。 ただし、これは私の例だけでなく、あなたが持っているどのデータセットでも機能します。 |
| |
そこで、このアドインについて簡単に説明するライブ チュートリアルを提供します。アドインと呼ばれます。単にインタラクションを探索するアドインと呼んでいます。 |
| |
ただし、これはすべて、以前に説明した実現可能な解決アルゴリズムを介して行われます。 例は線形モデルです |
| |
ここで 2 つの変数を修正するので、それが私の基本モデルになります。 私の基本モデルには、調整できるようにしたい連続応答変数と 2 つの共変量があります。 |
| |
そして、私がやりたいのは、データセットにある 10 個の変数のいずれかの間で、そのモデルに追加する二次相互作用を検討したいということです。 |
| |
そして、ランダムに 5 回開始して、自分の基準を確認したいと考えています。現在、これが、 |
| |
JMP アドインは、相互作用の P 値を最小限に抑えたいということです。 したがって、私たちがチェックするこれらの相互作用のそれぞれ |
| |
P 値を生成します。私がやりたいのは、次のようなソリューションを提供したいということです。 |
| |
非常に小さなP値。 したがって、インタラクションの P 値に基づいて空間を検索し、最も優れた値を持つものに移動します。 したがって、結果には小さな P 値を持つ交互作用が多数含まれることになります。 そして |
| |
通常、この種の手順を実行した後に私が推奨するのは、実行可能な解決アルゴリズムです。 |
| |
続いて、データをプロットし、モデル内の相互作用を確認し、状況に応じてそれらについて批判的に考えますか。結局のところ、ここでデータを調査しているのですから。 |
| |
これは決して推測ではありません。 私たちは、データのシグナルを使用して、このデータにどのような相互作用が存在するかを指示しているだけです。 |
| |
また、データとアドインはコミュニティ Web サイトに投稿されます。 |
| |
分かった、それではやめて、すぐにこの状況から抜け出し、そして引き上げるつもりだ |
| |
私が持っているJMPデータセット。 皆さんもこれを見ていただければ幸いです。 |
| |
ご覧のとおり、簡単に概要を説明しますが、これは実際にはすべて私が生成したランダムなデータの集まりです。 これには実際の構造はまったくありません。 これは実際のデータではなく、JMP でランダムに生成されたデータです。 |
| |
ここには 20 個の観測値があります。 連続変数、説明変数が 10 個あります。 |
| |
連続応答変数があり、応答変数をゼロより大きいかゼロより小さいかのいずれかに分類しました。 |
| |
したがって、ロジスティック回帰の結果を確認したい場合は、データを使用してロジスティック回帰の例を実行することもできます。 |
| |
したがって、アドインを入手したら、Web サイトにアクセスしてアドインをダウンロードし、それをダブルクリックするだけで JMP に直接インストールされます。 とても簡単です。 |
| |
そして、ここに行くだけでよいので、アドインに移動し、データセットを開いたら、アドインに移動してインタラクションを探索します。 |
| |
そして、これがここに表示されます。 そこで、いくつかのことがあります。 JMP の他のモジュールと同じように、左側にすべての変数が表示されます。 |
| |
そして、応答変数を選択し、それを Y にして修正します。ここで基本モデルを構築します。 これらはすべて、モデルに追加する線形主効果です。 この例では 2 つの変数があります。 |
| |
X1 と X2 をここに追加します。 ここで、行う必要があることの 1 つはモデリング タイプを指定することです。そのため、ここでは 2 つのタイプがあります。 |
| |
から選択できるアドイン。 1 つは標準の最小二乗モデリング タイプで、もう 1 つはロジスティック回帰タイプです。 |
| |
先ほども述べたように、これはここに入力した内容に基づいて自動的に選択されるわけではないため、カテゴリ応答変数を完全に入力しても、切り替わることはありません。 自分で切り替える必要があります。 これは素晴らしい追加機能の 1 つですが、後で説明できればと思います。 |
| |
それを取り除きましょう。 これをここに戻してください。 |
| |
これで、モデル y は、ベータ ゼロ プラス ベータ 1 X 1 プラス ベータ 2 X 2 に等しくなります。 そして、ここに変数を入れていきます。 |
| |
...または、間の相互作用を探したいので、X1 から X10 までをすべて選択します。 それらを追加していきます。 |
| |
そして、アルゴリズムを実行したいと何回言いましたか? では、時間の都合上、ここで 5 回行います。 |
| |
もう 1 つはインタラクションを考慮する順序なので、ここでは 2 つだけ説明します。 |
| |
3 つ以下に留めることをお勧めします。通常、4 方向のインタラクションや 5 方向のインタラクションを解釈するのは非常に困難になります。 |
| |
アルゴリズム...または私がこれを設定した方法は、望むならそこまで高くできるというものです。 実際には制限を設けていませんが、ここを高くするほど、実行にかかる時間が長くなることを知っておいてください。 |
| |
それで「OK」を押します。 これには少し時間がかかります。 |
| |
お借りしたコードが表示されます。 |
| |
ここに表示されると、作業の 20%、つまり 40% が完了したことがわかります。 |
| |
これらが解決策です。 したがって、チェックが進むたびに、実行可能な解決策が見つかり、最後に現れるのはデータ テーブルです。 |
| |
繰り返しになりますが、これはそれらの機能の 1 つではありません...インタラクションを選択してクリックできる選択ボックスが欲しいのですが |
| |
モデルを作成すると、JMP がすでにさまざまな処理を行っているのと同じように、すべての作業が自動的に行われますが、私はまだそこまで到達していません。 これは、解決策が何であったかを示すだけです。 |
| |
したがって、それが何をしたかの概要が得られます。 つまり、ランダムに 5 回起動しました。 応答変数、固定変数、 |
| |
見つかった交互作用変数、そして R 二乗、そのモデルの調整された R 二乗、二乗平均平方根誤差、そして交互作用 P 値です。 さて、ここでわかることは、 |
| |
(これをクリックすると表示されます) 解決策は 2 つだけなので、...X2 X3 は 1 つのインタラクションであり、X10 X7 は別のインタラクションでした。 |
| |
それで、今、私にできることは、今はそれをするつもりはありませんが、このモデルを構築して、これらの結果を再現し、その結果を調べて、わかりました、これが良い統計であるかどうかを確認できるかどうかです。 |
| |
アルゴリズム...またはここで見つけた優れた統計的相互作用? 私のレバレッジプロットはどのようになっているでしょうか? 私のさまざまな基準は何ですか |
| |
プロットは次のようになりますか? 私の診断プロットはどのようなものになるでしょうか? そういう類のもの。 そして、この相互作用はパラメーター推定などの観点から意味があるのか、といった質問を始めることができます。 |
| |
これは探索的なものであるため、潜在的な解決策を提供しますが、その後デューデリジェンスを行って、得られた結果について実際に考える必要があります。 |
| |
そして、この分野のコンテキスト...コンテキストの専門家に質問してください。 これは通常、健康科学でこれを使用する方法です。 私たちはこれを健康データと組み合わせて使用し、相互作用を生み出し、それから医師のところへ行って、この効果が意味があるかどうかを尋ねます。 |
| |
ご存知のように、年齢や性別などを超えて一貫性はありません。 そして、彼らはたいていそれについて私たちに話してくれます、ほら、考えてみてください。 全体的な考え方は、これが将来の研究に影響を与え、これらの相互作用効果をより詳細に調べることができるようにするというものです。 |
| |
強力な方法。 |
| |
それでは、PowerPoint に戻ります。 以上がこのチュートリアルでした。 かなり使いやすいことがわかります。 それは本当に小さな例でした。 これを増やすことができます。 |
| |
知っておいてください、データセットが大きければ大きいほど、先ほど行ったプロセス全体にかかる時間が長くなります。 10秒もかからないでしょう。そうなるだろう、 |
| |
データ セットのサイズによっては、5 ~ 10 分かかる可能性があります。 私はやった...アルゴリズムを使用し、アドインを使用して 100 個の変数を含むデータセットを実行しました。 |
| |
説明変数を使用し、5 回または 10 回のランダムな起動を実行するには、これとほぼ同じ時間、約 7 分かかりました。 |
| |
JMP アドインよりも R パッケージの方が高速ですが、それは、繰り返しになりますが、これが私の最初の試みであり、繰り返しを行うことでさらに高速化、改善されることが期待されているからです。 |
| |
それでは、今後の改善についてお話します。 したがって、ユーザーが最適化または実行できるようにしたいと考えています。 |
| |
彼らが望むあらゆる基準に基づいて、実行可能な解決策を見つけます。 したがって、R 二乗の最適化、AIC の最適化、または誤分類率の最適化に基づいて実行可能なソリューションを見つけたい場合は、 |
| |
ロジスティック回帰モデルでは、それができるようにしたいのです。 そして、それは実際にはそれほど難しいことではありません、私はただ行ってそれを行う必要があります。 |
| |
変数の選択に基づいてモデリングパーソナリティを自動的に保存または選択します。 それは単純なことです。 あなたは、 |
| |
バイナリ ロジスティック変数を使用すると、ロジスティック回帰が自動的に選択されます。 それはおそらく非常に難しいことではなく、おそらくかなり早くできると思います。 R パッケージを移行するこのプロセスを経たので、自信を持って実行できるようになりました。 |
| |
もう少しスピードを上げたいです。 この速度を改善するためにできることはたくさんあります。 |
| |
だから、それができるようになりたいと思っています。 リコールボタンがあれば良いのに。 今はそれがありません。 JMP で私が気に入っている機能の 1 つは、呼び出しボタンをクリックできることです。 |
| |
そして、FSA から得た結果からモデルの構築までを効率化できるようにしたいと考えています。 それで |
| |
それはすでに実行できます。たとえば、JMP や Lasso などで前方選択を行うとき、モデルの作成をクリックするだけで、すべての変数が非常に簡単に表示されます。 |
| |
この実現可能なソリューション アルゴリズムを使用してそれを実行できるようにしたいと考えています。これらの種類の結果を取得し、[モデルの作成] をクリックするだけで、すべてが自動的に行われます。 |
| |
そうすることで、それらを探索することができ、できれば、見つけた相互作用をよく理解できるようになります。 |
| |
それでは、いくつかの謝辞を述べたいと思います。 まずはマーク・ベイリーです。 あなたなしではそれはできなかったでしょう。 JSL コードをサポートしていただき、誠にありがとうございます。 ルースさんに感謝します |
| |
私をマークと連絡を取らせてくれただけで、しかもただの将軍だったから、 |
| |
このプロジェクトのサポート担当者であり、良いフィードバックを提供しているだけです。 アンとラリー、ただただ感謝しています |
| |
JMP と私たちの過去の関係に関係するすべてのことについて、また、この Discovery Summit を行うよう私を励ましてくれて、皆さんに助けていただきました。 本当に素晴らしかったです。JMP コミュニティでさらに多くの人々に会えることを楽しみにしています |
| |
ありがとうございました。 さまざまな方法で私にご連絡いただけます。 もしよろしければ、私の大学のメールアドレスにメールを送っていただいてもいいですし、Twitter でご連絡いただいても構いません。 |
| |
また、この JMP アドインを github とコミュニティ Web サイトに投稿する予定ですので、アドインの今後の更新については、これらの場所を自由にチェックしてください。 |
| |
はい、お招きいただきありがとうございます。割り当てられた時間内でご質問をお受けできることを楽しみにしています。ありがとうございます。 |