PLSプラットフォームは検証なしで再構築されています+ブートストラップの使用方法は?こんにちは、
1)PLSを実行していますが、42回の観測があります。 可能な予測子の数は、変数を事前に選択する量に応じて、24から79から240の範囲です。 私のYは、2または3のいずれかのカテゴリカルです。 プラットフォームの起動を実行した後、NIPALS / SIMPLSの部分に移動し、使用する検証のタイプ(Kfold、そのまま、ホールドアウト)や選択した要素の数に関係なく、常にエラーが発生します。 0因子、検証なしで再適合」。これを解決するために私ができることについて何か提案はありますか? PLSを本当に使いたいのですが、検証なしのモデリングは過剰適合です...
2)結果が得られたら、予測式があります。 それをブートストラップする手順は何でしょうか? 結果をブートストラップする手順については、多くの不確実性があります。 JMPがすでに検証プロセスにブートストラップを導入することを望みます。 ブートストラップされた係数を平均化する必要があると想定していますが、そのテーブルを再実行すると、モデル全体がブートストラップされます。 k倍の検証(それが機能した場合)? もしそうなら、私は中央に配置されスケーリングされたデータまたは元の係数を使用する必要がありますか? 結果を数式として手動で入力する必要があるため、元の係数をブートストラップする必要があると想定していますが、中央に配置されたスケーリングされたデータを使用してモデルを実行し、元の係数を提供するか、元の係数を使用してモデルを実行します? 全体の手順は、プロセスの観点からは非常に不明確です。つまり、希望する結果に到達するために、ステップごとに何が起こるかです。どんな助け/洞察もいただければ幸いです!
ありがとう、
ウリエル。
分析Re:PLSプラットフォームは検証なしで再調整されています+ブートストラップの使用方法は?こんにちは@utkcito 、
まず、PLSはデータに使用するのに最適なプラットフォームではない可能性があります。 これをGenRegまたはStepwiseとして実行して、モデルで実際に重要な予測子を確認することをお勧めします。 予測子の数が24から最大240の範囲であるのは非常に奇妙だと思います。 予測子の可能な数に比べて観測値が非常に少ないため、モデルに不要な要素が多すぎないことを確認するために、予測子のスクリーニングを実際に行う必要があります。 PLSはそれを処理できますが、予測子も応答と共変する必要があります。そうしないと、エラーが発生します。つまり、応答の変動を説明する予測子の線形結合がありません。 ただし、PLSを使用する必要があり、他のオプションがない場合は、応答をカテゴリ(2または3)から序数(2または3)に変更することを検討してください。 より良い数値解を見つけることができるかもしれません。 また、調査して使用することを強くお勧めします自動検証予測子の大規模なリストをチェックするためのアプローチ。
次に、JMPがフィッティングを実行するとき、バックグラウンドでは常に中央揃えおよびスケーリングされたデータを使用して推定値のより良い値を取得し、実際の推定値を逆算すると思います。 したがって、最終的に何をブートストラップするかは実際には重要ではありませんが、中央に配置されてスケーリングされたデータよりも、実際の推定ブートストラップを解釈する方が理にかなっている、または解釈しやすい場合があります。 はい、推定値をブートストラップすると、実行している検証でフィッティングが再実行されます。
最後に、見積もりをブートストラップするには、JMPレポートの見積もり列を右クリックして、ブートストラップを選択します。 速い場合は5000程度入れますが、遅い場合は2500のままにしておきます。 必ず「分数の重み」チェックボックスをオンにしてください。 近似を複数回再実行してから、予測子の各係数の値の分布を提供します(出力データテーブルで「分布」スクリプトを実行するだけです。 次に、表示される分布と統計を使用して、要約統計量を右クリックし、[結合データテーブルにする]を選択できます。 要約統計量もカスタマイズして、比率がゼロ以外になるようにしてください。
結合されたデータテーブルには、推定値の平均と比率がゼロ以外で含まれます。 ここで、平均(標準値)が何であるか、およびその推定値がゼロ以外である頻度(パーセント単位)を確認できます。その数が小さい場合、推定値はしばしばゼロになります。 大きい場合、ほとんどの場合、ゼロ以外です。 これは、モデルで必要な用語と不要な用語を判別するための良い方法です。
お役に立てれば、
DS
Re:PLSプラットフォームは検証なしで再調整されています+ブートストラップの使用方法は?こんにちはDS、
1)24から237の変数がある理由は、変数選択の量に依存するからです。 24はブートストラップフォレストの後です、そしてそれから私は* 2階乗をすることができます。 237はサイトカインの全セットです。
2)「予測子も応答と共変する必要があります。そうしないと、エラーが発生します。つまり、応答の変動を説明する予測子の線形結合がないことを意味します。」それ以上に説明できますか? 共分散はそれらの間にある、つまりそれらは多重共分散であり、PLSはその共分散の根底にある因子を作成することによって変数間のその共分散を使用すると思いました。 彼らが共謀しなければならないとあなたが言うとき、あなたが何を意味するのか私にはわかりません応答。 24、79、または237のサイトカイン変数(実際には縦断測定の平均、中央値、IQR)のうち、応答の変化(ICUの重大な病気)を線形結合で説明できないと考えるのに苦労しています。実際、他の設定で確立されているので、JMPがそれを行っている理由がわかりません。
3)ブートストラップを操作可能にする方法の説明をありがとう、それははるかに理にかなっていて、私はそれを試しました、そしてそれはうまくいきます。 JMPの正式なドキュメントがほとんど役に立たないこと、JMPがどのように機能するか、どのように機能させるかについての詳細がほとんどないこと、そしてフォーラムやチュートリアルなどが実際にどれほど役立つか、私はいつも驚いています。
どうもありがとう!
ウリエル。
Re:PLSプラットフォームは検証なしで再調整されています+ブートストラップの使用方法は?こんにちは@utkcito 、
これで、「ブートストラップ」の本来の意味がわかりました。ブートストラッププラットフォームを実行することは良いアプローチですが、ニューラルネット、GenReg、ブーストされたツリーを使用して予測モデルを実行し、XGBoostを追加することもできます。検証テストセットのさまざまな予測式を比較します。 その際、最適なフィットが得られるように設定を確認して調整する必要があります。デフォルトのフィットが必ずしも適切であるとは限りません。
ただし、ツリーアプローチの優れた点の1つは、さまざまな決定木を使用してモデルを作成する集約アプローチであるということです。 要因がそれらの寄与においてそれほど重要でない場合、それらは自動的に押し下げられ、モデル全体に高い寄与をしているとは表示されません。 それでも、ランダムな開始と決定プロセスのため、ブートストラップフォレストとブーストツリーのアプローチは特に安定していません。同じ設定を何百回も実行すると、実際にはわずかに異なる答えと式が得られることがわかります。 そのため、出力レポート(ブートストラップフォレストなど)で「SS」または「部分」をブートストラップして、その要素がモデル内で実際にどれだけ強いかをより正確に見積もることができます。
そうは言っても、過剰適合しないように、相互検証方法を使用していることを確認する必要があります。 また、データテーブルが比較的短い(測定値はそれほど多くない)ため、前の返信で述べた自動検証方法を使用しない限り、リーブワンアウトアプローチを使用せずにそれを行うことは困難です。 K分割交差検定もあなたにとって良いアプローチかもしれません。
入力データがどのように見えるかはわかりませんが、JMPが「機能データ」と呼んでいるもののように聞こえます。たとえば、スペクトルや、各波長(またはx値)が隣接するデータと相関しているその他の規則的な間隔のデータです。 機能データエクスプローラーを使用して、予測子のより適切なサブセットを生成することを検討することをお勧めします。 または、PCAは、予測子の次元を減らし、より小さな直交ベクトルのセットを使用してデータをモデル化するための優れたアプローチでもあります。
あなたのポイントに関して:
1)* 2階乗アプローチから非常に多くの異なるクロスタームを含める理論的(生物学的、化学的、物理的)理由はありますか? それらを含める理論的な理由がない場合、それはあまり意味がなく、誤った予測子を導入している可能性があります。
2)PLSプラットフォームでは、レポートの「パーセント変動の説明」の下にある累積Y応答も確認することが重要です。 予測子の線形結合がYの応答の多くを説明していない場合、説明される変動率は非常に低くなります。これは、予測子がYの変動を説明する線形結合として特に優れた仕事をしていないことを示し、プラットフォームはおそらくうまくいくでしょう。 応答測定値が非常に少ないため、このような多数の予測子を適合させようとすると、十分な自由度がないため、おそらく過剰適合につながる可能性があります。 PLSに加えて、多変量解析の下で因子分析プラットフォームを確認することを検討することをお勧めします。 サイトカインの変数が多すぎて、自由度が失われるのではないかと思います。 2つの点を持ち、線を当てはめるか、3つを使って放物線を当てはめると想像してみてください。これは、これらの多項式を当てはめるのに必要な最小の点数であるため、完全に当てはまりますが、自由度が失われ、エラーを推定できなくなります。またはフィット品質。 これがPLSプラットフォームで起こっていることだと思います。
3)コミュニティページは最高です。 特にJMPでコーディングするJSLスクリプトについては、常にチェックしています。 ほとんどの場合、他の誰かが解決したコードのスニペットがあります。これはまさに私の仕事に必要なものです。 また、特に新しいことを学ぶときに、質問に答えて、何ができるかを見るのも楽しいです。
頑張ってください!、
DS