jackknife
ジャックナイフ サンプリング
構文
jackstat = jackknife(jackfun,X)
jackstat = jackknife(jackfun,X,Y,...)
jackstat = jackknife(jackfun,...,'Options',option)
説明
jackstat = jackknife(jackfun,X) は、n 行 p 列のデータ配列 X からジャックナイフ データの標本を取り出し、関数 jackfun を使用して各標本に対する統計値を計算し、行列 jackstat に結果を返します。関数 jackknife では、X の各行は 1 つのデータ標本と認識されるため、n 個のデータ標本が存在します。jackstat の n 行のそれぞれには、jackfun をジャックナイフの 1 つの標本に適用した結果が含まれています。jackfun は、@ で指定した関数ハンドルです。jackstat の行 i には、i 番目の行が省略された X で構成された標本の結果が含まれています。
s = x; s(i,:) = []; jackstat(i,:) = jackfun(s);
jackfun が行列または配列を返す場合、この出力は jackstat に保存するために行ベクトルに変換されます。X が行ベクトルの場合、列ベクトルに変換されます。jackstat = jackknife(jackfun,X,Y,...) は、jackfun への入力として指定される追加の引数を受け取ります。これらの引数は、スカラー、列ベクトル、または行列です。jackknife は、非スカラー データ引数の行からの復元抽出によりジャックナイフの各標本を作成します (これらの行数は同じでなければなりません)。スカラー データは、変更されていない jackfun に渡されます。非スカラー引数の行数は同じでなければなりません。また、ジャックナイフの各標本は、これらの引数から同じ行を省略します。
jackstat = jackknife(jackfun,...,'Options',option) には、Parallel Computing Toolbox™ が使用できる場合、ジャックナイフ反復を並列実行するためのオプションがあります。'Options'を、関数 statset を使用して作成した構造体として設定します。jackknife は、この構造体で以下のフィールドを使用します。
'UseParallel' |
|
例
jackknife を使用してベクトル y から取り出された無作為標本の MLE 分散推定器のバイアスを推定します。バイアスには、この命題内に既知の式があるため、jackknife 値をこの式と比較できます。
sigma = 5; y = normrnd(0,sigma,100,1); m = jackknife(@var,y,1); n = length(y); bias = -sigma^2/n % known bias formula jbias = (n-1)*(mean(m)-var(y,1)) % jackknife bias estimate bias = -0.2500 jbias = -0.3378
拡張機能
バージョン履歴
R2006a で導入