次の問題があります。
スカラーの入力(次元ベクトル)、順序付けられた整数と順序付けされていない整数(つまり、ラベル)、および1つまたは複数の出力が与えられると、私は推定したいと思います。
- どの入力が出力を最もよく説明しています。
- 1つの入力の変動が出力の変動をどの程度意味します。
これは非常に広い分野である不確実性と感度分析に関連していると思われます。私の問題に関連するアプローチを持つメソッド/リソースを知っていますか?
次の問題があります。
スカラーの入力(次元ベクトル)、順序付けられた整数と順序付けされていない整数(つまり、ラベル)、および1つまたは複数の出力が与えられると、私は推定したいと思います。
- どの入力が出力を最もよく説明しています。
- 1つの入力の変動が出力の変動をどの程度意味します。
これは非常に広い分野である不確実性と感度分析に関連していると思われます。私の問題に関連するアプローチを持つメソッド/リソースを知っていますか?
回答:
ここにあるツールの1つを試すことができます。これは、MATLABソリューション、非常に優れたコード、最新のメソッドです。まず、ライブラリのグラフィカルツールを試して、データについて理解することをお勧めします。
ここで必要なものの詳細を提供しなかったので、暗黙のメソッドに関するコメントがいくつかあります。
グローバル感度分析。グローバル感度分析は、モデルの出力(数値またはその他)の不確実性をモデル入力の不確実性のさまざまな原因にどのように割り当てることができるかを調べる研究です。文献で出会ったほとんどの分析が局所的または一度に1つの要素であるという事実がなければ、ここではグローバルは不必要な仕様である可能性があります。
モンテカルロ(またはサンプルベース)分析。モンテカルロ(MC)分析は、ランダムに選択されたモデル入力を使用して複数の評価を実行し、これらの評価の結果を使用して、モデル予測の不確実性と入力要素への配分の両方を決定し、この不確実性への寄与に基づいています。MC分析には、各入力因子の範囲と分布の選択が含まれます。最初のステップで指定された範囲と分布からのサンプルの生成。サンプルの各要素のモデルの評価。不確実性分析と感度分析。
応答曲面法。この手順は、検討中のモデルに対する応答曲面近似の開発に基づいています。この近似は、不確実性と感度分析の元のモデルの代理として使用されます。分析には、各入力因子の範囲と分布の選択、モデルを評価する因子値の組み合わせを定義する実験計画の開発、モデルの評価、元のモデルへの応答曲面近似の構築、不確実性分析が含まれますおよび感度分析。
スクリーニングデザイン。因子のスクリーニングは、多数の入力因子(数百)を含むモデルを扱う場合の最初のステップとして役立ちます。入力係数とは、モデルの実行前にモデルで変更できる任意の数量を意味します。これは、モデルパラメータ、入力変数、またはモデルシナリオです。多くの場合、モデルの出力に大きな影響を与えるのは、いくつかの入力因子と因子のグループ化だけです。
ローカル(差分分析)。ローカルSAは、モデルに対する入力因子の影響をローカルで、つまり入力因子の空間内のある固定点で調査します。ローカルSAは通常、入力変数に関する出力関数の偏微分を計算することによって実行されます(微分分析)。導関数を数値で計算するために、入力パラメーターは公称値の周りの小さな間隔内で変化します。間隔は、変数に関する知識の程度とは関係なく、通常、すべての変数で同じです。
FORM-SORM。FORMとSORMは、分析者がYの大きさ(およびその潜在的な変動)に関心を持たず、Yが何らかの臨界値を超える確率に関心がある場合に便利な方法です。制約(Y-Ycrit <0)は、入力因子Xの空間内の超曲面を決定します。Xのある設計点と超曲面の間の最小距離が対象の量です。
幸運を!
最初の質問に取り組むために、正準相関分析と、スライス逆回帰と呼ばれるより最近の次元削減手法を確認することをお勧めします。後者については、Ker Chau Liによる最初の論文を参照してください。
次元削減のためのスライス逆回帰(ディスカッション付き)。Journal of the American Statistical Association、86(414):316–327、1991。
インターネットで無料で入手できます。あなたが考えを購入する必要があるかもしれない(興味深い)コメント付きのバージョン。
あなたの状況での方法の選択のためのいくつかの重要なパラメーターは次のとおりです。
また、多変量出力の可能性についても触れています。完全に異なるものを表すそれらがいくつかある場合は、いくつかの独立した感度分析を行ってください。
それらが高度に相関している、または機能している場合、問題の多い部分も大きく変化します。
特定の方法論に進む前に、これらすべての点を明確にする必要があります。
2番目の質問に答えるために、分散ベースのグローバル感度分析アプローチを使用できる場合があります。Saltelli(2008)によると、感度分析は
「...モデルの出力の不確実性を、モデルの入力の不確実性のさまざまな原因にどのように配分できるかの研究...」
Saltelliブックで言及されているようなアプローチは、通常、最初に入力サンプルを生成することに焦点を当てており、その後、モデルを実行して出力を生成し、次に分析します。合計感度インデックスや1次感度インデックスなどの結果として得られる出力メトリックは、出力の分散に対する各入力因子の主な効果の寄与を表します。分散ベースのアプローチは、出力の分散を分解します。これらは計算量が多く、特定の入力サンプルが必要です。 S i
あなたの目的のために、既存のデータの牧場があることを考えると、Delta Moment-Independent Measure(Borgonovo 2007、Plischke et al。2013)によって提案され、PythonライブラリSALibに実装されているような代替方法です。
例から抜粋した次のコードを使用すると、既存のデータから機密性インデックスを生成できます。
from SALib.analyze import dgsm
from SALib.util import read_param_file
# Read the parameter range file
problem = read_param_file('../../SALib/test_functions/params/Ishigami.txt')
# Perform the sensitivity analysis using the model output
# Specify which column of the output file to analyze (zero-indexed)
Si = dgsm.analyze(problem, param_values, Y, conf_level=0.95, print_to_console=False)
# Returns a dictionary with keys 'vi', 'vi_std', 'dgsm', and 'dgsm_conf'
# e.g. Si['vi'] contains the sensitivity measure for each parameter, in
# the same order as the parameter file