| スピーカー |
文字起こし |
| ジェフ・パーキンソン |
JMPの機能開発に関して、次の講演者であるジョン・サル氏は、優先順位付けの方法について興味深い考え方を持っています。どの機能を優先するかを決める必要がありますが、 |
| |
どの機能に投資すべきか。では、何が最も重要なのかをどのように考えればよいのでしょうか?製品をより強力にする機能こそ、私たちが取り組むべきものなのでしょうか? |
| |
より魅力的でセクシーな機能や、痛みを和らげ、分析の負担を軽減する機能はどうでしょうか? |
| |
ジョンは、痛みの緩和こそが我々の研究開発チームの主な動機であるべきだと考えている。ジョンはSASの共同創業者であり、30年以上前に彼が設立したJMPの主任設計者である。 |
| |
データを持っている科学者やエンジニアにとって、それを探索する方法が必要です...デスクトップ上で視覚的に簡単に探索する方法が必要です。 |
| |
彼はJMP開発の原動力と、私たちが開発したい機能を見つけるまでの経緯について話してくれます。それでは、ジョンさん、ようこそ。ありがとうございます。 |
| ジョン・ホール |
ジェフさん、ありがとうございます。こちらはノースカロライナ州ケーリーにある新しいデジタル会議センターから生中継でお届けしています。こちらでは、より多くの方にご参加いただけます。 |
| |
それでは、少し照明を落としましょう。 |
| |
ええと、実は私はデジタル会議センターにはいないんです。実は自宅にいるんです。だから、ホームオフィスがあるんですよ。あ、間違えました。あっちじゃないです。 |
| |
皆さんと同じように、私も自宅からこのカンファレンスを開催しています。では、企業を舞台にした話に切り替えて、始めましょう。 |
| |
では、何を話せばいいでしょうか? |
| |
JMPのリリースがある年、つまりJMPのリリースと連携したカンファレンスが開催される年には、そのことについて話し合いますが、それ以外の年はいつも私がテーマを選んでいます。例えば、ある年はビッグ統計、次の年はゴーストデータ、また別の年は秘密の機能といった具合です。 |
| |
2年前。今日のテーマは、Aで始まる長い単語です。 |
| |
さて、これらはJMP開発におけるテーマを特徴づける言葉です。では、私の画面を共有しましょう。 |
| |
そして |
| |
最小限に抑える |
| |
こちら。共有。 |
| |
では、どのテーマが最も重要でしょうか?そして、ここにAで始まる3つの単語があります...文字Aで始まる重要な単語です。 |
| |
ジェフが先ほど述べたように、まず一つ目はアナボリックです。アナボリックとは、筋肉を増強し、JMPをより強力にするためのものです。 |
| |
同化作用は臓器や組織を構築し、これらの作用によって細胞の成長と分化が起こり、体の大きさが増加する。 |
| |
JMPのパワーを高めることはチャンスであり、もちろんそれは非常に重要ですが、次の |
| |
媚薬のような効果で、JMPをよりセクシーに、より刺激的に、発見の喜びを味わえるようにしたい。だから、それもJMPの特長の一つにしたいのです。 |
| |
しかし、私たちは作業過程におけるあなたの進捗状況も重視しています。そのため、3つ目の単語は「鎮痛剤」で、これは痛みを和らげるという意味です。 |
| |
痛みの緩和。 |
| |
だから、次のような架空の引用文を皆さんに表現してもらいたいのです。「バージョン15は本当に役に立ってくれました…以前は苦労してやっていた何時間、いや何日もの作業を省いてくれました。」これは大きな苦痛の軽減です。 |
| |
あるいは、「以前は一つずつ個別にやらなければならなかったけれど、今は全部まとめて一度にできるようになった!」という声も。ずいぶん楽になったものだ。あるいは、「以前はすべてをこなすために他のツールをいくつか使わなければならなかったけれど、今はJMPですべてできるようになった!」という声も。 |
| |
あるいは、「同僚にどうやってこんなに簡単にできたかを見せたら、みんな驚いていました!」とか、「以前は全部手作業でプログラミングしなければならなかったのに、今はマウスを数回クリックするだけで完了です!」 |
| |
あるいは、「JMPのおかげで集中力が途切れることなく、データ分析に専念でき、業務の詳細に気を取られすぎることがなくなりました。」といった、私たちが聞きたいのは、こうした苦痛が和らいだという声です。 |
| |
では、なぜ痛みやフラストレーションが本当にやる気を削ぐ要因になるのかを見ていきましょう。フロー状態は重要です。フロー状態にあるときは、気が散ることがありません。フロー状態にあるときは、データから何かを学び、新たな発見をする可能性が高くなります。 |
| |
エンパワーメントも重要ですが、新機能はごく一部の人にしか使われず、古い機能は多くの人に使われる傾向があります。そこで、古い機能をより使いやすくしたいと考えています。 |
| |
それらを使う際の負担を軽減するためです。そしてもちろん、生産性は、時間の使い方に関してツールがどれだけ効果的かに大きく左右されます。ですから、より簡単かつ迅速に結果を得ることができれば、それは大きな成果です。それでは、たくさんの例を見ていきましょう。 |
| |
まず、データテーブルに付属するスクリプトです。ここに、JMPの以前のリリースからの例を並べて表示します。JMP 14か13だと思いますが、 |
| |
以前は、このボタンをマウスで押し続けるとメニュー項目が表示され、そこから実行ボタンを見つけてスクリプトを実行する必要がありました。 |
| |
しかし、新しい方式ではスクリプトのすぐ横に再生ボタンがあります。そのため、その再生ボタンをクリックするだけで、メニューを開く必要がなくなります。 |
| |
まあ、ボタンをクリックするのとメニューを引き出すのとでは大した違いではないと思うかもしれませんが、これは大きなメリットです。新規ユーザーにとっては大きなメリットです。なぜなら、新規ユーザーはもう操作方法を理解する必要がないからです。 |
| |
ホットボタンの下にはランニングトラックがある、というわけではありません。しかし、スクリプトのすぐそばに再生ボタンがあります。そのため、これらがスクリプトであるという理解がより深まります。 |
| |
JMPでは、データと一緒にスクリプトを保存できる機能が非常に重要であり、私たちはユーザーにそれをすぐに習得してもらいたいと考えています。 |
| |
あれこれ探したり、ヒントを見たりして、それがどういう仕組みなのかを知る必要がない。そして、すべてのスクリプトを保存できるのは非常に便利だ。 |
| |
データテーブル自体の中に保存し、他の場所に保存する必要はありません。そのため、新規ユーザーにとっては再生ボタンが便利です。このように、この簡単な変更だけでも、多少の手間が省けます。 |
| |
そしてこれは、JMPにおいてもっと早く実施しておけばよかったと後悔している変更点です。 |
| |
データの準備についてお話ししましょう。データ準備において重要なことの一つは、複数のソースからのデータを結合することです。 |
| |
JMPは、バージョン1からユーティリティ機能を搭載する必要がありました。しかし、これには依然として複雑な対話操作や複数のデータテーブルの操作が伴います。 |
| |
では、典型的な例として、映画をレンタルする場合を考えてみましょう。映画レンタルのトランザクションテーブルがあります。 |
| |
そこには顧客、商品番号、注文日、注文年があり、さらにレンタル映画の在庫、各映画の詳細があります。そして顧客情報もあります。顧客に関する情報などです。そして、次のような質問をしたいのです。 |
| |
どのジャンルの映画にどの性別が優勢か。それは |
| |
3 つのテーブルすべてにまたがって、もちろん、結合コマンドがその方法になります。トランザクションデータを取得して、 |
| |
顧客とマージします。もちろん、顧客IDは一致するものです。 |
| |
列があり、トランザクション側で一致しないものを含めたいのです。つまり、顧客データがない場合でも、トランザクションデータは失われません。これは左外部結合と呼ばれ、新しいデータテーブルが作成されます。そして、そのデータテーブルに、 |
| |
在庫データに。そこで、一致させたアイテム番号で結合し、左外部結合も行い、 |
| |
別のテーブル。これで、3 つのテーブルの代わりに、結合の結果である 5 つのテーブルになりましたが、これで、ジャンルによる性別の質問に答えることができます。 |
| |
性別によって、どのタイプの映画をより多くレンタルする傾向があるか。 |
| |
そして、これらすべての新しい中間データテーブルを作成することも必要でした。 |
| |
実はもっと簡単な方法があり、これらの余分な手順や表を作成する手間を大幅に軽減できることが分かりました。では、この表のこの表を元に戻しましょう。 |
| |
また、テーブルコマンドの下には、JMPクエリビルダーというコマンドがあり、これによってシークエル機能が起動されることを指摘しておきたいと思います。 |
| |
テーブルを結合する場合、これは結合ダイアログをいくつも使うよりもはるかに簡単ですが、それでも新しいデータテーブルが作成されます。 |
| |
しかし、数回前のリリースで、さらに痛みを軽減する優れた機能、仮想結合をリリースしました。このトランザクション テーブルを見ると、 |
| |
既に参加済みであることに気づきました。 |
| |
つまり、私が映画の在庫テーブルを準備したとき、それはアイテム番号によって一意に識別されます。そこで、アイテム番号を渡すと、 |
| |
リンク ID は、それが一意に識別されることを示すもので、その方法でそのテーブルにインデックスを付けることができます。同様に、顧客データを識別するためのアイテム ID があります。トランザクション データを準備する際には、これら 2 つの要素に、ある意味で外部キーがあります。 |
| |
リンク参照があり、識別IDによって異なるデータテーブルを参照しています。そのため、自動的にリンクされ、その質問に答えるために必要なものはすべて揃っています。 |
| |
各 |
| |
性別、私は |
| |
自分がやりたい映画のジャンルを見つける。そして、ここでアクション映画は男性に好まれ、ファミリー映画は女性に好まれていることがわかる。 |
| |
ロマンティック・コマーシャルは女性主導のものが多いなど。このように、テーブル間でID列を一致させることで事実上結合されるため、すべての結合を行う必要なく、3つのテーブルに関する質問に答えることができました。 |
| |
だから私は作った |
| |
それによってかなりの痛みが軽減されました。では、これで終わりにしましょう。 |
| |
つまり、データテーブルの結合は、リリースを重ねるごとに多くの問題を軽減してきたと言えるでしょう。 |
| |
再コーディング、 |
| |
それは、データセットを準備する際に私たちが行う主要な作業の1つです。 |
| |
数リリース前に、古い値と新しい値のためのフィールドがあり、新しい値は古い値と同じ値から始まり、それらの値を切り取って貼り付けたり編集したりして再コードするという、非常にシンプルな再コードから始めました。 |
| |
新しい列、または既存の列に挿入します。 |
| |
そして、Recodeはリリースごとに劇的な改善を遂げており、現在の状態に非常に満足しています。それでは、病院、地区病院のデータセットを見てみましょう。そして今、Recodeはまさに |
| |
列ヘッダーの右クリックメニューまたは右クリックボタン。そして、 |
| |
複数の項目を選択し、クリニックなどの新しい値にグループ化します。 |
| |
でも、ショートカットもたくさんあると思います。私のお気に入りのショートカットの1つは |
| |
類似する値をグループ化するためです。文字数の違いなどの閾値を指定すれば、自動的にそれらをすべてグループ化してくれます。つまり、スペルが少し異なる地区病院もすべて1つにまとめてくれるのです。 |
| |
そして私はまだできる… |
| |
1つ見落としたようです。でも大丈夫です、これでそれを他のものとグループ化できます。 |
| |
すべての地方病院は、一致するものによって自動的にグループ化されており、ここでさらに1つ一致させることができるようです。 |
| |
そして今、突然何かが手に入った。あれだけの再コーディングをする手間が大幅に省けた。 |
| |
そしてもちろん、JMP 15 では新機能を追加しましたが、ここでは紹介しませんが、指摘しておきたいと思います。すべてのデータセットを含む別のデータセットがある場合、 |
| |
...証明されたのは...それらのカテゴリに最適なカテゴリ名であり、私はマッチングプロセスを実行し、それらすべてに一致するものが見つかったときに最も近い一致を選択させることができます。 |
| |
そのため、recodeはリリースを重ねるごとに多くの進化を遂げ、その作業の負担を軽減してきました。そしてもちろん、考えてみてください。データの準備に費やす時間と、データの分析に費やす時間はどれくらい違うでしょうか? |
| |
データ準備に費やす時間は、多くの場合70~90%にも及びます。ですから、その負担と時間を短縮できれば、大きな成果につながります。つまり、再コーディングの負担軽減です。 |
| |
値をクリックします。 |
| |
都市データセット。 |
| |
そして、これらの詳細を見ているときに、例えば何かの外れ値かもしれない場合、それをさらに詳しく見たいとしましょう。そこで、それをリンクに変換することができます。では、 |
| |
それをウィキメディアのページのようなものにしましょう。そのテキストをそこにコピーして、列情報に移動して、それをリンクに変換します。それが式ハンドラです。 |
| |
そして今、私は |
| |
これ |
| |
テーブルをウェブに変換する |
| |
住所。 |
| |
wikipedia.org に行って、それから |
| |
その都市の名前をタイトルケースに変更して、その行でテストすると、アルバニーが表示されます。 |
| |
それでは、今から言います… |
| |
ああ、わかりました。 |
| |
これで、どの都市をクリックしても、その都市のWikipedia記事を取得できます。または、地図座標に変更することもできます。では、そのテキストをコピーして列情報に移動すると、代わりに、 |
| |
タイトルケースで表記してください。 |
| |
それで、正しく解析できるか見てみましょう。これで、デンバーをクリックすると、デンバーとGoogleマップが検索されるようになります。 |
| |
よし、それでは、私ができることをリンクにしたんだ…検索もできるし、地図のリクエストもできるし、他にもいろいろできる。 |
| |
この音声をそこに貼り付けてクリックすると、都市名が読み上げられます。このように、データテーブルにリンクを保存できる機能は非常に強力だと思います。 |
| |
ウェブページへのリンクを張ったり、その他の処理を実行したり、ACLで表現できるあらゆることを、これらのイベントハンドラで実現できます。そのため、多くの手間を省くことができます。 |
| |
私の好きな痛みの軽減テクニックの1つはブロードキャストで、これはコマンドキーまたはコントロールキーを押しながら複数回実行することで、類似した分析がたくさんある場合に使用します。 |
| |
これはメニューコマンドだけでなく、多くのボタンやグラフフレームのサイズ変更、その他の操作、グラフへのデータの貼り付けなどにも有効です。 |
| |
では、その例を見てみましょう。そして、これらの列すべてをクリックして、分布を計算してみましょう。 |
| |
そして、私が取り除きたいとしましょう |
| |
この箱ひげ図。 |
| |
そして、私がただ押し続けたら |
| |
そのメニュー項目については、その項目の箱ひげ図を削除したいのですが、すべての項目の箱ひげ図を削除したいのです。そこで、コマンドキーを押しながら箱ひげ図のチェックを外します。これで、すべての項目の箱ひげ図のチェックが外れました。これで、分位点のチェックを外すことができます。 |
| |
そして、そのコマンドを受け取り、そのウィンドウ内のすべてのアクティブなオブジェクトにブロードキャストするため、すべてのチェックが解除されます。そして、そのコマンドを理解するアクティブなオブジェクト(たとえば、quantiles コマンド)は、そのコマンドに従います。 |
| |
これで、ダイアログのプロンプト表示に関するいくつかの機能も使えるようになりました。では、要約統計を見てみましょう。コマンドキーを押しながら、要約統計をカスタマイズしてみましょう。 |
| |
信頼区間は不要だが、欠損値の数だけは必要だとしましょう。そして、「了解」と言えば、それがすべてに適用されます... |
| |
すべて。そのためには、 |
| |
その対話の結果を取り、それを基にスクリプトを作成し、そのスクリプトをそのウィンドウ内の他のすべての場所にブロードキャストする。 |
| |
しかし、これは常に起こるわけではありません。プロンプトが表示される場合、分析ごとにプロンプトが表示されることがあります。リリースごとに、 |
| |
さらに詳細を実装すると、放送前にダイアログが実行されるため、利用可能なすべての場所に同じダイアログが放送されます。もちろん、他のすべても放送できます。変更を放送すると、これらのアイテムのサイズなどが変更されます。 |
| |
背景色を変更すると、すべてのグラフの背景色をオレンジ色に変更できます。 |
| |
それは、そのフレームボックスにとって関連性があるように思われます。そのため、この放送は非常に強力なツールとなります。 |
| |
それで、 |
| |
それは私たちのほとんどにとって多くの苦痛を回避してくれましたが、今年初めに発生したように、グループごとに40,000件のデータがあり、その40,000件すべてに対して逆予測を実行しようとすると、40,000回プロンプトが表示されるケースもまだあります。 |
| |
バージョン16で修正される予定です。これは、そのユーザーにとって大きな安心材料となるでしょう。 |
| |
数式列を保存する。 |
| |
私は数式列が大好きです。モデルを適合させると、予測の列を保存できます。しかし、その予測にはライブ数式が含まれているため、その数式を調べたり、変更したり、新しいデータに適用したりできます。保存した数式にプロファイルすることもできます。 |
| |
もしあなたが持っているなら |
| |
JMP Proでは、数式リポジトリにアクセスして、他にも多くのことができます。そこからコードを生成したりすることもできます。ですから、数式を保存する機能は重要ですが、時には |
| |
例えば、グループ分けをしている場合、数式の保存にはさらに多くの細かい注意点があります。 |
| |
例えば、糖尿病データに応答を当てはめてみましょう。 |
| |
これらの予測因子すべてに対して、しかし、性別ごとに別々に行いたい。 |
| |
それではそうしましょう。 |
| |
ということで、性別1と性別2の2つのグループがあります。そして、保存したいとしましょう。 |
| |
実際、これら両方の予測値です。 |
| |
昔は、多くの鎮痛方法を用いる前は、 |
| |
保存するとどうなるかというと、ローカルのデータテーブルに保存されます。データテーブルウィンドウの「やり直し」セクションを見ると、グループ別のテーブルが表示されます。 |
| |
つまり、性別=1の場合、この仮想データテーブルには235個のデータがあり、性別=1の場合に表示できます。ここには、グループ別に表示するテーブル変数があります。 |
| |
そして、本来保存されるはずのテーブルではなく、この一時テーブルに保存されてしまいます。 |
| |
しかし |
| |
少し前に予測式を保存したとき、それを実際のデータテーブルに保存しました。そして、これを見ると、性別=1 の場合のみ保存しました。 |
| |
そしてその式を見てみると、性別=1の場合、それはグループによる句であり、その変数の予測を形成する線形結合があることがわかります。 |
| |
そして、gender=2 と入力するか、予測式をブロードキャストするコマンド キーを押し続けると、両方とも表示され、gender 1 と gender 2 の両方の句が利用できるようになります。つまり、グループごとに出力に句が追加されていくのです。 |
| |
ちなみに、他のものを保存したときも同じことが起こります。例えば、残差の列を保存して、今度はコマンドキーを押しながら保存してみましょう。 |
| |
残差の列を保存すると、グループごとに保存され、そのグループに適した残差が保存されます。これは、元の応答から予測式を差し引いたのと似ていますが、今回は数式列ではありません。 |
| |
JMPのほぼすべての場所で、すべての場所で実行したわけではありませんが、ほとんどの場所で実行し、グループごとに保存しています。 |
| |
または場合によってはwhere句を通して、if文の条件で元のデータテーブルに保存されます。 |
| |
手間が大幅に省けました。それが利用できなかった場合、tt は一時テーブルに保存され、その後、その数式を切り取って貼り付け、テーブルを元のテーブルに作成する必要がありました。これでこれらの問題は解決しました。では、もう一度保存して、そのプロセス全体をもう一度実行したとしましょう。 |
| |
そして |
| |
そして別のことをした。例えば、異なる変数を使って、そのうちのいくつかを削除して、 |
| |
そして、それを再び保存しました。 |
| |
それで、 |
| |
予測式を保存しようとしたのですが、今回はブロードキャストキーを押しながら保存すると、古い式に保存されるのではなく、新しい式が作成され、その後に「2」が追加されてしまいます。一体どうして古い式に保存しないように判断するのでしょうか? |
| |
ええと、それぞれのフィットにはIDがあります。そしてプロパティを見ると |
| |
ID によって、それぞれ固有の番号が割り当てられ、フィットごとに再生成されるため、ID によって異なる番号が割り当てられている限り、 |
| |
グループごとに異なるIDを持つ場合、パーティションごとに異なるIDを持つことになります。ただし、IDが同じであれば、同じ場所に保存されます。そうでない場合は、保存するための新しい場所が作成されます。 |
| |
また、予測値と言うときはいつでも、 |
| |
特に予測式、 |
| |
これにより、作成者、およびその他の情報を含む属性が作成されます。この場合、予測対象であるターゲット変数 y と、最小二乗法で適合する作成者が含まれます。 |
| |
そして、JMP Proのモデル比較などの他のプラットフォームを使用する場合、そのモデル比較は、どの予測値がどの作成者、どのターゲットを参照しているかを認識します。そのため、付加価値の高いプラットフォーム向けに、これらの情報をすべて追跡することができます。 |
| |
それで、 |
| |
数式列は、新しい句を追加することで機能し、ID によるものを含む他のプロパティが使用されます。 |
| |
予測条件をカテゴリ変数として保存すれば、各応答レベルの確率を表す変数群全体を保存でき、メタデータや必要な情報もすべて含まれます。これにより、多くの手間を省くことができるはずです。 |
| |
それで、 |
| |
モデルから効果を削除する。 |
| |
では、例を見てみましょう。 |
| |
適合する |
| |
身長と体重を単純に一致させるだけ。 |
| |
さて、これが高次多項式の例です。これは7次多項式です。 |
| |
よりよく合う |
| |
6次多項式など。しかし、その適合性を信頼できますか? |
| |
高い多項式項を導入したり、単に変数を増やしたりしてモデルに柔軟性を持たせると、適合する機会が大幅に増えることがわかります。そしてこの場合、 |
| |
これにより、前回のデータと前回のデータポイントの間を深く掘り下げて、前回のデータポイントによりよく適合させるための柔軟性が確保されました。 |
| |
つまり、それは過学習です。それは、そのパラメータを使用してノイズに適合させており、本来適合させるべきではありません。 |
| |
データそのもの。 |
| |
そのため、大規模なモデルを扱う場合、常に過学習が問題となります。 |
| |
信号に適合させたいのであって、ノイズに適合させたいのではありません。さて、大規模なモデルは予測に多くの変動をもたらす傾向があります。なぜなら、結局のところ、予測は |
| |
彼らが使用している y 変数の関数ですが、その y 変数は、その変数の系統的な部分と、その変数の誤差部分の合計でもあります。 |
| |
ランダムであれば、予測にはそのランダム性が含まれます。そして、柔軟性を過剰に許容すると、最終的には |
| |
これは過学習の問題であり、そのモデルにすべての変数を含めると、予測精度が著しく低下します。 |
| |
そのための解決策は、モデルを縮小すること、つまりモデルのサイズを小さくするか、モデル内の係数のサイズを小さくすることです。 |
| |
モデルのランダム項からの変動が予測値に伝達される量が少なくなるため。 |
| |
小規模な実験計画法(DOE)の問題では、データ量が少なく、かつ目的のモデルに正確に適合するようにデータがバランスよく配置されているため、これは問題になりません。しかし、大規模なモデルにおける観測データの場合、過学習は深刻な問題となります。 |
| |
そのため、JMP Pro にクロスバリデーションを導入するまで、ユーザーはその重要性を理解していませんでした。JMP Pro をお持ちの場合は、検証列を設定できます。 |
| |
これは、一部のデータを保留して、その保留データセットのエラーを推定します。そして、ここに例があります。私はコンクリートの特性を予測しようとしています。 |
| |
コンクリートに含まれるこれらのすべての成分に依存しており、私はそれに関する巨大なモデルを持っています。そして、そのモデルを実行するだけで、一部のデータを保留して、そのR二乗値を見ると、 |
| |
SLUMPについては、非常に良い適合が得られました。R二乗値は79ですが、適合させた検証セットでは、R二乗値が負の値になっています。 |
| |
R二乗が負の値になるということは、平均値だけを当てはめるよりも適合度が悪いことを意味します。つまり、平均値だけを当てはめた場合、R二乗はゼロになります。このモデル全体を当てはめた場合、R二乗はそれよりもはるかに悪くなります。したがって、大規模なモデルでは、平均値だけを当てはめるよりも適合度が悪くなる可能性があります。 |
| |
モデルが非常に大きいため、情報伝達に悪影響を及ぼす可能性があります。モデルのサイズを縮小する努力を全く行わなかったため、ノイズがモデルを支配し、信号が十分に反映されていない状態になっています。これは注意すべき問題です。 |
| |
つまり、重要なのはモデルのサイズを縮小できるかどうかだ。 |
| |
そして今回、それを行うためのモデルダイアログコマンドを導入しました。 |
| |
糖尿病のモデルについて見ていきましょう。 |
| |
このモデルを実行して、例えば、あまり重要でない要素の多くを取り除こうとすると、例えば年齢など |
| |
モデルに全く重要でない貢献をしているので、年齢を削除したい。そうすると、モデルを適合させて、 |
| |
それを呼び出して、年齢を削除します。あるいは、ここで直接モデルダイアログに戻って年齢を合わせ、削除することもできますが、ここにモデルのリストが長い場合があり、これらの操作を何度も繰り返すのはかなりの手間です。 |
| |
だからそうする代わりに… |
| |
えっと、私はここで何をしているんだろう。 |
| |
数回前のリリースで、私たちは「影響概要」と呼ばれる新しいレポートを導入しました。 |
| |
また、エファクトサマリーを使用すると、モデルをサブセット化して予測精度を向上させることが非常に簡単になります。 |
| |
柔軟性を低くする。 |
| |
だから、年齢については、それを取り除けると言えるでしょう。 |
| |
いや、まあ、変数はたくさんありますね。では、さらに3つ取り除いてみましょう。 |
| |
LDLの方が重要そうですね。ということで、そのモデルを保存できます。 |
| |
データテーブルに保存しましょう。 |
| |
そして後日戻ってきて、「よし、この特徴を持つあのモデルを覚えておこう」と言うのです。 |
| |
前の操作を元に戻すことができます。それで元に戻すと、 |
| |
3 つの変数があり、それを元に戻すと年齢が戻ります。つまり、効果サマリーを使用してモデルを編集すると、実際にそれらすべてのメモリが保存されます。そして、そのスクリプトを見ると、 |
| |
この履歴機能について理解できました。つまり、エフェクトモデルを実行するたびに、履歴としてその部分が保存されるということですね。そして、元に戻す操作を行うと、その履歴まで元に戻されるのですね。 |
| |
だから、削除するのは簡単です。追加することもできます。この2つを引いたとしても、元に戻すことができます。例えば、年齢を元に戻すことができます。 |
| |
良いことではないが、私にはできる。モデルの小さなバージョンを戻してモデルを編集することもできる。 |
| |
モデルダイアログを追加し、複合効果などを追加します。 |
| |
さて、大規模モデルで起こるもう一つのことは、 |
| |
(これを元に戻します。) |
| |
大型モデルでは、 |
| |
あなたはたくさんの仮説検定を行っていますね。 |
| |
したがって、仮説検定の数が多い場合は、考慮すべき調整がいくつかあり、その1つは偽発見率と呼ばれます。そのため、これらのp値をすべて独立した検定であるかのように扱うのではなく、 |
| |
多重検定バイアス、つまりモデルのサブセット化に伴う選択バイアスを考慮してp値を調整し、偽発見率を適用できるようにしたい。 |
| |
それを修正します。通常のp値の代わりに、偽発見率で調整したp値を使用します。これでより現実的になります。これは、過剰適合の問題や仮説、そして多くの多重検定を行う際の選択バイアスの問題に対処するのに役立ちます。 |
| |
もの。 |
| |
それで、 |
| |
今 |
| |
さあ |
| |
次のトピックは変換です。 |
| |
仮定する |
| |
モデルを作成したい場合、 |
| |
しかし |
| |
yの代わりに、yの対数を当てはめたいのです。 |
| |
さて、その前にデータセットに新しい列を作成します。 |
| |
ログと、 |
| |
そしてLog yについては、 |
| |
指定してください... |
| |
数式を実行する。 |
| |
そして私は |
| |
そのログ。 |
| |
これでモデル仕様に戻って、Log y を実行できます |
| |
そして、私は自分の体型を手に入れた。 |
| |
ああ、なくなってる。私、何をしたんだろう? |
| |
入力し忘れた |
| |
目的、議論。 |
| |
だから今なら私は |
| |
Yの対数を当てはめる |
| |
そして今 |
| |
やりましたよ。でも、プロファイラを使ってみましょう。 |
| |
私のプロファイラは Y の log で表されます。予測値を保存しましょう。私の予測式は y の log で表されます。 |
| |
そして今から、それを手作業で編集しなければならない… |
| |
その式を指数関数で表す |
| |
元のスケールに戻すには、かなりの手間がかかります。つまり、そのような変換を行うのは非常に面倒な作業なのです。 |
| |
ええと、数リリース前 |
| |
変換機能を導入しました。 |
| |
だから私はその変形を取り、 |
| |
それをログに変換する |
| |
そして、それを変換として直接使用すると、データテーブルの一部ではなくなります。これは数式を持つ仮想変数ですが、データテーブルには追加されません。 |
| |
これでモデルをLog yに当てはめることができます。 |
| |
年齢を少し減らして、もう少しフィットするようにします。 |
| |
おっと。 |
| |
それも選択していました。 |
| |
そして、応答関数 Log y を当てはめました。 |
| |
では、それをプロファイリングすると、何が得られるのでしょうか? |
| |
因子プロファイリング、つまりプロファイラです。yの対数をプロファイリングする代わりに、yそのものをプロファイリングします。プロファイラはそれを変換として捉え、「よし、この変換を反転させて元のスケールに戻そう」と判断します。そして実際にそうするのです。 |
| |
それ |
| |
変換を解除し、yの対数を通して逆変換を行い、予測値を元のスケールに戻します。 |
| |
そして、巻き戻し可能なほとんどの変換に対してそれを実行します。変換に複数の変数などが含まれる場合、それは実行できず、単に変換を実行します。したがって、元の |
| |
列を保存するときも同じです。予測式を保存すると、 |
| |
これは、yの対数ではなく、yのスケールでの予測式を保存します。 |
| |
つまり、これらは変換処理を行う際に、非常に時間と労力を節約できるということです。 |
| |
つまり… |
| |
私にさせて |
| |
再び糖尿病へ |
| |
そして、別の変換を検討してください。 |
| |
変数を扱う場合、 |
| |
ボックス・コックス変換というものがある。 |
| |
そして |
| |
因子プロファイリングの中でも、Box-Coxオプションは |
| |
電力関数のあらゆる範囲を変換したかどうかを示します。 |
| |
どうしたらいいでしょうか?単に変換を解除すればいいのでしょうか?そうすると、Box-Coxのラムダ値は1になります。 |
| |
0 を取った場合は、その対数を取るのと同じです。-1 を取った場合は、その逆数を取るのと同じです。 |
| |
-1 乗。もし 0.5 くらいに計算したら、それはその平方根を取るのと同じことになります。 |
| |
そして、このモデルは、変換に合わせて調整された変換スケール、つまり平方根変換に近い値(ラムダが0.453の場合)の方がより適合することを示しています。これは、Box-Cox変換における最適な値です。 |
| |
そして、これをズームインできます |
| |
拡大鏡を使って |
| |
より正確に把握するため。 |
| |
それで、 |
| |
だから今、私は変身できるし、数リリース前に |
| |
できますよ…列をいくつか追加しました。そのうちの1つは「変換で再調整」で、変換結果を表示する新しいウィンドウが作成されます。 |
| |
そしてもう一つは変換の置き換えで、それを実行しようと思います。0.453の代わりに、平方根変換(0.5)を使って、その変換でモデルを適合させます。 |
| |
そして今、ラムダベストは1付近にあり、これはBox-Cox変換によって既に一度変換されているため、あるべき値です。そして今、その予測値を保存できます。 |
| |
プロファイルを作成するなど、いろいろと設定できます。しかも、元に戻すこともできます。つまり、その変形が気に入らず、元の状態に戻したい場合は、元の状態に戻して調整できるのです。 |
| |
それで、 |
| |
私たちは痛みを軽減するために多くのことをしてきました |
| |
反応を変革する上で。 |
| |
では今 |
| |
大量のデータを扱う場合、特別な痛み、特別な痛みの場所が生じる。 |
| |
そして私たちは、大きな問題をより少ない苦痛で解決するために、多大な努力を払ってきました。 |
| |
行数、列数、グループ数、試すモデル数が多い場合でも、 |
| |
現代社会は、ビッグデータとそれに伴う大きな問題を抱えた世界である。 |
| |
つまり、もともと小さな問題に対処するために設計された分析手法は、大きな問題には適さない可能性があり、大きな問題における根本的な問題は、処理すべき出力が多すぎるということである。 |
| |
同じモデルを1,000個の変数に適合させると、1,000個のレポートを整理する必要があります。1,000個の列の中から外れ値を探す場合、外れ値だけがあり、各列ごとに個別のレポートが作成されます。 |
| |
大量のデータセットをより効率的に処理するために、スクリーニングメニューを開発しました。 |
| |
これは、こうした大規模な問題を解決するために設計されています。さらに、JMPには大規模な問題をより効果的に解決できる機能がたくさんあります。例えば、時系列分析です。新しい時系列予測プラットフォームは、1つの時系列だけでなく、複数の時系列を予測します。 |
| |
つまり、スクリーニング プラットフォームの項目は、外れ値を調べ、欠損値を調べ、パターンを調べます。これらはデータのチェックを行い、関連性を探したり、応答スクリーニングを行ったりするためのものです。 |
| |
プロセススクリーニング、予測因子スクリーニング。そしてもちろん、時系列予測は新しい項目です。スクリーニングメニューには含まれていませんが、大規模な問題に対応できるように構成されています。 |
| |
そして、これらすべては、結果をよりコンパクトに表現する方法を利用して、何千ものレポートを作成する必要がないようにするだけでなく、計算効率も優れています。マルチスレッドを使用しているため、 |
| |
複数 |
| |
CPUのコア数を増やして、処理速度を非常に速くする。 |
| |
では、プロセスデータがたくさんあって、変数が568個あるとしましょう。では、これらの変数のうちどれが健全に見えるでしょうか?プロセススクリーニングは、まさにその問いに答えるために設計されています。安定性でソートしたり、能力(Ppk)でソートしたり、不良な変数をソートしたり、 |
| |
管理図の指標、管理不能な勘定科目など。 |
| |
でも、さらに…もっと好きなのは、すべてのプロセスを1つのグラフで表示するツールです。そして、私が気に入っているツールが2つあります。1つは |
| |
ゴールプロットは、 |
| |
各プロセスが仕様上の制限に対してどのように動作するか、そしてそれが能力のあるプロセスであれば、この緑色のゾーンに収まります。 |
| |
ぎりぎりの状態であれば、イエローゾーンです。そうでなければ、レッドゾーンです。また、高い位置にある場合は、変動が大きすぎます。どちらか一方に偏っている場合は、問題があります。 |
| |
と... |
| |
中心からずれている、的を外している。 |
| |
しかし、それがグリーンゾーンにあるなら、それは良いプロセスであり、バージョン15では、 |
| |
グラフレット、ホバーヘルプ |
| |
カーソルを合わせると、それぞれのプロセスが表示されます。そしてもう一方の |
| |
これらのことをすべて要約し、これらのレポートをすべて確認する手間を軽減するのに私が気に入っているグラフは、このプロセスパフォーマンスグラフです。縦軸には、能力Ppkによって仕様限界内に収まっているかどうかが示されています。 |
| |
つまり、1.33というこのラインより上であれば、仕様限界値に対する値の分布という点では問題ないと言えます。仕様限界値の範囲内に十分に収まっています。 |
| |
もし…であれば、安定性指数はx軸上にあります。つまり、たとえ可能であっても不安定なプロセスであれば、かなり不安定なプロセスです。したがって、そのプロセスを見ると、いくつかの |
| |
安定性というものが少しさまよっています。そして、もしあなたがイエローゾーンにいるなら、 |
| |
能力はあるが不安定、といった具合です。レッドゾーンは、能力不足かつ不安定な最悪のゾーンです。そのため、以前は大変な苦労を要した数百、数千ものプロセスを簡単に確認できるようになりました。 |
| |
問題は、何が最も変化したかということだ。以下は調査データである。 |
| |
長年にわたり、あなたは彼らの活動について質問しました。 |
| |
キャンプに行く?それともカジノでギャンブルをする?それとも風邪を引いたの?ほら、これらの活動全部で、これらの活動の中でどれが一番いいか知りたいよね(そして、 |
| |
95種類の活動の中から、どれが最も効果があったのかを知りたいのです。つまり、一つずつ試していくのが良いでしょう。 |
| |
そして、その活動を調査実施年ごとに分類する。 |
| |
一つずつ見るのではなく、反応スクリーニングを見ることができます |
| |
そして、たった1つのグラフを見るだけで、何が一番変化したかがわかります。 |
| |
そしてこれは、それら95個すべてのグラフを示しています。まず、P値の負の対数による有意性、 |
| |
これは対数価値と呼ばれ、偽発見率を考慮して調整されています。このようにp値をソートすることで、選択バイアスの一部が解消されます。 |
| |
そして、その背後にあるものを選択する...低いP値。そして、ビデオテープのレンタルが最も大きく変化したことがわかりました。ビデオカセットテープは当然ながら時代遅れになりました。ですから、当然変化したのです。 |
| |
別のビデオカセットテープが多くのことを変えた、リサイクルのために物を集めることが多くのことを変えた、自宅で人々を楽しませることが多くのことを変えた。 |
| |
そして、重要度は低いものの、効果量が大きいのが、インターネットを利用するかどうかです。もちろん、この調査はインターネットが登場する前に開始されました。そのため、状況は大きく変化しました。そこで、最も変化した点は何かという質問は |
| |
以前は難しかったことが、今では簡単になった。 |
| |
ビッグデータに関するもう一つの質問は、欠損値はどこにあるのかということですね。それでは、 |
| |
280個の変数。 |
| |
欠損値はどこにあるのでしょうか?それらを気にする必要はありますか?欠損値の探索レポートを見てみると、欠損値のある変数はたった5つしかないことがわかります。 |
| |
そして、変数が1つしかないもの、欠損値が1つしかないものもあれば、欠損値が多いものもあります。ですから、多変量解析を行う際には、おそらく含めたくないでしょう。 |
| |
452個の変数のうち376個。または、Jを含めたい場合は、 |
| |
そして、それらの欠損値を補完する。 |
| |
そうすることで、わかりました。 |
| |
それで、 |
| |
次の質問ですが、データに外れ値はありますか? |
| |
ええと、このプロセスで387個の測定値があります。そして、その中に外れ値があるかどうかを調べたいのです。そこで、スクリーニングメニューにそれを行う機能が追加されました。 |
| |
感度を高くしたり低くしたりしてください。 |
| |
もっと敏感にしましょう |
| |
そのため、外れ値や再スキャンが少なくなります。 |
| |
見ることができます |
| |
で |
| |
9 の並び。多くの場合、欠損値を表すために 9 の並びが使用されますが、それらの 9 は実際の 9 である場合もあれば、単に欠損値を示す指標である場合もあります。そのため、それらの 9 を欠損値コードに追加すれば、メモリが変更されたと言えます。 |
| |
そして今なら私はできる |
| |
上に戻って(ここには多くの変数があります)再スキャンすると、心配すべき欠損値が少なくなります。 |
| |
そのため、以前は外れ値の調査は面倒な作業だった。 |
| |
今でも大変な仕事ではあるが、以前よりははるかに楽になった。 |
| |
さて、バージョン15では、別のスクリーニングプラットフォームを追加しました。データに疑わしいパターンはありますか?それでは、臨床試験の検査データを見てみましょう。これはニカルジピンの検査パターンデータです。私が確認したい検査結果が27件あります。そこで、私は呼び出します。 |
| |
新しいプラットフォームでは、欠損値を探索します。そして、これは、連続した値があるかどうかを示します。つまり、値は .03536 ですが、行から始まる 7 が連続しています。 |
| |
2065。これらのセルに色を付けて、これらの値を確認できます。おそらくそれは最後に繰り越された値で、疑わしいものではないかもしれません。この場合、それは... |
| |
同一人物です。ですから、最終残高を繰り越すのは妥当なことかもしれませんが、これらのものを分配したことがあるなら、それは非常に稀なケースです。 |
| |
もし、これらの事柄がランダムに分布すると仮定するならば。 |
| |
また、最長の重複シーケンスです。この変数については、2816行目と3034行目から始まっており、同じ値を持つ行が4つあります。それらを色付けすると、そこに4つ連続しています。 |
| |
次のシーケンスを見ると、同じ値が4つ連続しています。これは、同じ値をある場所から別の場所に切り取って貼り付けたことが原因である可能性があります。 |
| |
つまり、パターンを探索するとは、それらのものを探すことです。また、27の変数それぞれの詳細を見て、疑わしいものの兆候や、 |
| |
データ処理方法の悪影響など。 |
| |
それで、 |
| |
パターンを探求することは、大きな問題を解決する上で重要な要素です。 |
| |
それで、 |
| |
痛みの緩和。当社の開発の多くは、分析の流れをよりスムーズに、負担を少なく、時間を節約し、痛みを軽減することに重点を置いています。鎮痛剤。 |
| |
何が痛みを伴うのか、私たちは常に知っているわけではありません。そのため、何に焦点を当てるべきかについてはフィードバックに頼っています。何百回も返信しなければならなかったメールを受け取ったとき、 |
| |
私たちはその声に耳を傾け、その痛みを理解し、修正しました。今では、何千ものものをグループにブロードキャストできるようになりました。 |
| |
そして、何度も対話するのではなく、一度の対話の結果を放送します。ですから、送っていただいたことで、初回では気づけなかった他の皆さんにとっても良い結果となりました。ぜひご意見をお聞かせください。 |
| |
これまで行ってきたあらゆる改善により、データ準備と分析のプロセスは、よりスムーズになり、中断も少なくなり、より円滑になったと考えています。 |
| |
それで、 |
| |
障害を乗り越えることに時間を費やすのではなく、データから学び、データを理解することに時間を費やすのです。 |
| |
分析。これらが同じ語源から来ているのか疑問に思う人もいるだろうが、もちろん、私たちはこれら2つの単語を略すのは好まない。 |
| |
「アナリティクス」はギリシャ語の「analyein」に由来するのですが、どう発音するのか分かりません。 |
| |
しかし、ギリシャ語では「分解する」「解放する」「自由にする」という意味です。つまり、複雑なものを分解して理解しやすくするということです。 |
| |
そして、それはもちろん、データ分析、つまりデータサイエンスで私たちがまさにやっていることです。鎮痛剤(analgesics)は、「~なし」を意味する「an-」と、「痛み」を意味する「algesis」という、異なる単語の組み合わせから来ています。つまり、同じ接頭辞ですが、語源は少し異なります。 |
| |
それらを略さないでください。 |
| |
同化作用と媚薬効果。私たちはパワーを重視します。 |
| |
私たちが行っていることの多くは、データ分析のためのより強力なツールを提供することであり、その多くはJMP ProだけでなくJMPにも搭載されています。 |
| |
そして、データによってワクワクするような、発見の喜びが生まれることを願っています。 |
| |
JMPの高度な機能の使い方を学ぶのはワクワクしますし、刺激的だと思います。まるで媚薬のようなものです。 |
| |
つまり、力強さや興奮も私たちにとって価値があるのです。それは単なる痛みの緩和だけではありません。 |
| |
では、来年は何をしようか? |
| |
さて、Bで始まる難しい単語ですね。 |
| |
まずはAから始めて、次はB、ですよね? |
| |
さて、来年はJMP 16がリリースされます。ということで、そのことについてお話しする予定です。再来年はどんな話をするかは分かりませんが。それでは、ありがとうございました。データ分析で少しでも苦労されることがないよう願っています。 |
| ジェフ・パーキンソン |
ジョンさん、本当にありがとうございました。感謝しています。素晴らしいお話でした。長年にわたり多くの苦しみを目の当たりにしてきたので、 |
| |
あなたがおっしゃることは全て全くその通りです。痛みの緩和は私たちにとって重要なことです。 |
| |
実際には、たくさんの質問が寄せられました。そのうちのいくつかは質疑応答で回答しましたが、私が皆さんに伝えたいのは |
| |
それは痛みを和らげるだけでなく、魅力も提供し、JMPをより強力にしたのでしょうか? |
| ジョン・ホール |
そうですね、皆さんが一番喜んでいるのはGraph Builderだと思います。 |
| |
変数をドラッグして数回クリックするだけで、思い通りのグラフが完成し、しかも簡単に変更できるというのは、信じられないほど強力な操作感です。 |
| |
だから、これはスリル満点なんです。強力な機能であり、痛みを和らげてくれます。以前はもっと難しかったんです。だから、これはみんなのお気に入りの機能だと思います。 |
| |
しかしもちろん、JMPは充実した製品であり、私たちはそのすべてに誇りを持っています。実験計画法、その他すべて |
| |
そこには大きな力が関わっていて、私たちはそのプロセスを容易にしようと努めてきました。そして、実に多くのことが頭に浮かびます。 |
| ジェフ・パーキンソン |
素晴らしい。ジョン、どうもありがとう。感謝します。この講演を楽しんでいただけたなら、2つ提案があります。1つ目は、これを投稿します。 |