最高のモデルこんにちは
私の質問は、データセットに非常によく適合する最適なパラメトリック モデルを見つけるにはどうすればよいかということです。
自分の反応をうまく予測できるパラメトリックモデルを見つけたい
高度な統計モデリング基本的なデータ分析とモデリングRe: 最高のモデルこんにちは@maryam_nourmand 、
あなたの質問は幅広いトピックに関するものであり、この質問に答える前に対処して答えるべき質問が(たくさんある)あるかもしれません。
- データはどのように収集されますか?観察研究、実験設計、...? データセットの代表性と完全性? 探索的データ分析は、PLS などの適応モデルや PCA などの前処理手順を必要とする可能性のある多重共線性など、 回帰モデルの仮定に関するいくつかのパターンや潜在的な落とし穴を検出するのに役立つ場合があります。
- モデルの目的は何ですか? 因果関係の説明、予測と最適化、またはその両方(利用可能なデータセットと収集方法にもリンクされています)?
- 検証戦略/機能の選択?作成されたモデルが適切なレベルの複雑さを持ち、たとえば優れた予測パフォーマンスを維持することをどのように保証しますか? モデルのパフォーマンスと堅牢性を、「標準的な」機械学習検証戦略 (クロス検証またはトレーニング/検証/テストの分割を使用) を通じて評価しますか、それとも尤度、情報基準 (AICc、BIC)、p 値などに基づく「統計指向」アプローチを通じて評価しますか? モデルの複雑さはデータ収集によって直接制限される必要があることにも注意してください。たとえば、3 つの異なるレベルの要因がある場合、2 次項よりも高い項を適合させることはできません。
- 評価/選択のメトリクスとしきい値は?モデルをどのように評価しますか? 選択のプロセス/基準は何ですか? 選択したメトリクスで最も予測結果が優れたモデルを選択しますか、それともベンチマーク モデルや単純なモデルよりもパフォーマンスが優れているすべてのモデルを選択しますか? 最終的にモデルをどのようにテストしますか?
これらの質問と回答のいくつかは、以前の投稿ですでに説明されています。
https://community.jmp.com/t5/Discussions/Statistical-Significance/mp/765928/highlight/true#M94573
https://community.jmp.com/t5/Discussions/Analysis-of-split-plot-design-with-full-factorial-vs-RSM/mp/770579/highlight/true#M95183
モデルの作成、比較、選択には、目標にリンクされた評価指標と、1 つまたは複数のモデルを選択するためのしきい値/基準が必要です。単に最適な予測モデルが必要な場合は、次の操作を実行できます。
- 標準的なML検証戦略(例えばクロス検証)またはモデルの複雑さを制御できる戦略を使用してモデルを作成します。
- RMSE、MAPE など、予測精度にリンクされた 1 つまたは複数のメトリックを使用します。
- 指標とドメインの専門知識に基づいてモデルを比較します。どのモデルがトピックに最も適切/関連しているか、どのモデルが最も優れたパフォーマンスを発揮しているかなどです。
- 選択したモデルを使用して個々の予測を推定し、それらの違いを確認するか、または結合モデルを使用して予測誤差を平均化することを選択します。
- 「実際の」状況/実稼働環境でモデルをテストします。
以下のリソースも興味深いかもしれません:
どのモデルをいつ?
モデルの指定とフィッティング
予測モデルの構築と理解
相関データと高次元データの予測モデルの構築
JMP Pro を使用したより優れた予測モデルの構築 - モデル スクリーニング(パラメトリック モデルと機械学習モデルのオプションをスクリーニングし、同時に比較するのに役立ちます)
予測モデリング
STIPS モジュール 7: 予測モデリングとテキストマイニング
いつ、どのモデルを使用するか? (どのモデリング タイプを使用するか?) - (2023-US-PO-1509)
モデル選択基準を使用した JMP でのモデルの選択 - (2023-US-30MP-1456)
データマイニングと予測モデリング
この最初のディスカッションスターターがお役に立てば幸いです。
Re: 最高のモデル
私の目標をより正確に説明すると、次のようになります。
がん患者のデータに関連する初期データセットがあります。データセットに最適なパラメトリック統計モデルを見つけたいと考えています。このモデルを使用して、モデルの切片にシフトを適用するためにデータをシミュレートすることを目指します。最終的には、既存の機械学習モデルが管理図のこのシフトをどれだけ早く検出できるかを確認したいと思います (つまり、ARL を取得します)。この目的のためには、データからデータをシミュレートできるように、データに最も適合するモデルが必要です。
Re: 最高のモデルこんにちは@maryam_nourmand さん
わかりました。それなら、データ マイニング アプローチを採用する可能性が高いでしょう。観測データの固定データセットを使用して、許容可能な予測モデルを適合させようとします。 検証列(機能の階層化を含む) を使用すると、モデルを検証 (過剰適合を回避するため) し、実稼働データでテストするのに役立ちます。モデリング戦略に関しては、機能を選択するために段階的アプローチを使用し、検証列メソッドを使用した一般化回帰アプローチを使用する可能性が高くなります。
例として、私は Kaggle の Cancer_Data データセットを使用して、個人の特性に基づいて良性癌か悪性癌かを予測しました: https://www.kaggle.com/datasets/erdemtaha/cancer-data?resource=download
特徴間の分布と相関関係に主に焦点を当てた最初の探索的データ分析の後、トレーニング/検証/テスト セットの比率が 70/20/10 の検証列式 (特徴の階層化) を作成し、検証列メソッドを使用した一般化回帰モデルを使用して、すべての主効果特徴と 2 特徴相互作用項をモデル内の可能な項として入力しました。特徴は強く相関しているため、適応型 Elastic Net を選択しましたが、PLS や PCA 前処理などの他のオプションもあるかもしれません。
その後、このモデルの数式を保存し、予測プロファイラーを使用してシミュレーションを作成し、機能が応答に与える影響を評価し、予測される応答に対するノイズの増加の影響を推定することができます。
これらのオプションがあなたのトピックに役立つことを願っています。
Re: 最高のモデルあなたの回答を見て、「パラメトリック統計モデル」とはどういう意味ですか?と尋ねたくなりました。私は通常、機械学習モデルは非パラメトリックであると考えていますが、ここではそのようなモデルを除外しているのでしょうか。既存の機械学習モデルがあるとおっしゃっているので、はっきりしません。パラメトリック モデルと非パラメトリック モデルを比較したいのですか?モデル スクリーニング プラットフォームを使用すると、両方のタイプの予測モデルを多数構築できます。「最も適合する」と思われるものを使用して、予測式を保存し、シミュレーションを行うことができます。「モデルの切片のシフト」が何を意味するのかよくわかりませんが、式に加法的な乱れを加えるだけで、シミュレーション データを生成することができると思います。
Re: 最高のモデルご返信ありがとうございます。
しかし、シミュレーションの場合は、「列を保存 -> シミュレーション式の保存」セクションに移動したほうがよいと思います。そこには、コードの記述にも使用できるシミュレーション用の式が含まれているからです。
そしてデータセットを紹介していただきありがとうございます。
しかし、複数の段階を含む治療プロセスに関するデータセットはありますか?つまり、1回目の治療後に病気が再発し、2回目の治療が行われ、薬の投与量などの治療情報が記録されているようなデータセットです。そのようなデータセットをお持ちでしたら、ぜひ共有していただければ幸いです。
Re: 最高のモデルはい、「パラメトリック モデル」とは、機械学習モデルを意味するものではありません。
最適なパラメトリック モデルを見つけるための私の目標は、最初のデータセットよりも大量のデータをシミュレートして生成することです。機械学習モデルにはより多くのデータを使用したいのですが、シミュレートされたデータは最初のデータセットに非常に似ていて類似したものにしたいのです。
Re: 最高のモデルそれを実行するためにパラメトリック モデルが必要な理由がわかりません。任意の予測モデルを実行し、プロファイラーを使用して任意の数の追加データ ポイントをシミュレートし、独立変数に異なる値を指定して、予測にランダム ノイズを追加することができます。おそらく、何をしようとしているのか理解していないのでしょうが、パラメトリック モデルの部分が必要とは思えません。
Re: 最高のモデル「列の保存 -> シミュレーション式の保存」でシミュレーション式を保存することと、プロファイラー ツールを使用してシミュレーションすることの違いは何ですか?
シミュレーションにパラメトリック モデルを使用する理由は、関係とシミュレーション式を取得して、対応するコードを記述し、このプロセスをループで 100 回繰り返すためです (フェーズ I で構築したモデルに基づいて、管理図の ARL を取得します)。
これをソフトウェアを使って手動で行うと、時間がかかり、困難になります。
Re: 最高のモデルこんにちは@maryam_nourmand さん
それはあなたの目的が何であるかによります。
シミュレーション式を保存すると、診断応答を診断シミュレーション式に切り替えることで、モデルの係数分布を評価するのに役立ちます。

シミュレーション式は、モデル適合レポートから保存できる予測式の簡略版です。クラスごとに 1 つの確率列と最終分類列を持つ代わりに、同じ式内に確率計算と分類を含む 1 つの列のみを保存します。
入力の変動に関するモデルの堅牢性に関心がある場合は、入力の変動 (および出力へのノイズの追加) を伴う Prediction Profiler のシミュレーターを使用して、 シミュレーション実験を実行すると役立つ場合があります。その後、入力の変動を生成し、機能の分布をシフトしてモデルへの影響を確認したり、ノイズを増やして予測モデルの堅牢性を確認したりできます。
余談ですが、 @dlehman1が指摘した点に関連して:
最適なパラメトリック モデルを見つけるための私の目標は、最初のデータセットよりも大量のデータをシミュレートして生成することです。機械学習モデルにはより多くのデータを使用したいのですが、シミュレートされたデータは最初のデータセットに非常に似ていて類似したものにしたいのです。
収集された実際のデータに類似したデータをシミュレートして生成するには、データ生成プロセスを「模倣」する必要があります。ML モデルで検出されたがパラメトリック モデルでは考慮されていない強力な非線形性、相関関係、またはその他のパターンがある場合は、ML モデルを使用してデータをシミュレートして生成する必要があります。そうしないと、シミュレーション/生成されたデータに強い偏りが生じます。このユース ケースでは、データ生成と予測に別のモデルが必要である理由がわかりません。
モデルがどれだけ予測力に優れているとしても、それは理解して予測しようとしている現象を単純化したものにすぎないため、このモデルから生成されるデータには多かれ少なかれ偏りがある可能性があることに注意してください (また、実際のデータよりもノイズの少ない結果が生成される可能性もあります)。しかし、あなたが意図しているように、データの変動に対する堅牢性を評価することは依然として有用です。
申し訳ありませんが、複数段階の治療を含むデータセットはありません。私はこれを見つけて、あなたのユースケースに適した説明例を提供するために使用しただけです。
この回答がお役に立てば幸いです。
Re: 最高のモデルビクターG
JMP の新機能をいくつか学ぶことになると思います。表示されている、切り替える列があるシミュレーション ウィンドウはどこで入手できるか教えてください。どこにも見つかりません。シミュレーション実験を実行する場所はわかりますが、シミュレーション式の保存を促すプロンプトはどこにも見つかりません。よろしくお願いします。
Re: 最高のモデルこんにちは@dlehman1 さん
シミュレーション機能は、モデルプラットフォームの任意のパネル/レポートを右クリックすることでアクセスできます。 シミュレーション機能を起動します。
SVM のモデル概要の例を以下に示します。

次に、切り替える列と切り替えない列を選択するように求められます。シミュレーションのコンテキストでは、線形回帰モデルのパラメータ推定値で使用して、応答をシミュレートされた応答に切り替えてパラメータ推定値の分布を評価したり、モデルの概要で使用してモデルのパフォーマンスの一貫性を評価したりすることができます。 シミュレーションウィンドウ
シミュレーション式に関しては、一般化回帰プラットフォームの「列を保存」のオプションの 1 つとして見つけて保存できます。

この「シミュレート」オプションは、検証列の数式を使用して機械学習モデルの堅牢性を評価するために使用します。モデル ダイアログ ウィンドウでこの列を検証として使用し、これらの列の値をシミュレートして切り替え、同じ階層化またはグループ化方法を使用してわずかに異なるトレーニング/検証/テスト セットを表すことができます。これは、アルゴリズムの堅牢性を評価するのに役立ちます (クロス検証でも有効になります: https://community.jmp.com/t5/Discussions/How-can-I-automate-and-summarize-many-repeat-validations-into/mp/632192/highlight/true#M83061 )。また、ハイパーパラメータを微調整してモデルのパフォーマンスの向上 (ある場合) をテストすることもできます ( https://community.jmp.com/t5/Discussions/Boosted-Tree-Tuning-TABLE-DESIGN/mp/609591/highlight/true#M81062 )。
この回答がお役に立てば幸いです。
Re: 最高のモデルまたあったね
たとえば、このシミュレーション式を見てください:
(-0.741104921699375) + 0.0237113448295257 * :体重 + 一致( :性別,
0、(:年齢 - 33.8085106382979)* 0.0091364700024452、
1, (:年齢 - 33.8085106382979) * 0,
。
) + (:体重 - 63.3936170212766) * 一致( :家族, 0, -0.015643799304455, 1, 0, . ) + (:腫瘍サイズ - 2.49893617021277) *
Match(:family, 0, 0.441690642908435, 1, 0, . ) + (:tumor size - 2.49893617021277) * Match(:hyper, 0, -0.346279666197286, 1, 0, . )
+Match( :hyper, 0, Match( :dissection, 0, 0.354356313550484, 1, 0, . ), 1, Match( :dissection, 0, 0, 1, 0, . ), . ) + (0.15468861367462
+ 0) * 正接(π() * (ランダム均一() - 0.5))
私のプロジェクトでは、ARLを計算するためにPythonコードを書いて100回生成する必要があるため、このような式が必要です。
私の言いたいことは伝わりましたか?