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