ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

dcovary

修正共変量を設定した D 最適計画法

構文

dCV = dcovary(nfactors,fixed)
[dCV,X] = dcovary(nfactors,fixed)
[dCV,X] = dcovary(nfactors,fixed,model)
[dCV,X] = daugment(...,param1,val1,param2,val2,...)

説明

dCV = dcovary(nfactors,fixed) は、座標交換アルゴリズムを使用して nfactors 個の因子がある線形加法モデルの D 最適計画法を生成します。この場合、モデルが fixed に固定共変量因子を含むことを前提とします。計画内の実行回数は、fixed 内の行数になります。計画 dCV は、モデル項の実施条件に対する初期列で fixed を拡張します。

[dCV,X] = dcovary(nfactors,fixed) は、計画に関連付けられている計画行列 X も返します。

[dCV,X] = dcovary(nfactors,fixed,model) は、model で指定される線形回帰モデルを使用します。model は以下のいずれかです。

  • 'linear' — 定数項および線形項。これは既定の設定です。

  • 'interaction' — 定数項、線形項および交互作用項

  • 'quadratic' — 定数項、線形項、交互作用項および 2 乗項

  • 'purequadratic' — 定数項、線形項および 2 乗項

n 項をもつ完全 2 次モデルの X の列の順序は次のとおりです。

  1. 定数項

  2. 線形項 (1, 2, ..., n の順)

  3. 交互作用項 ((1, 2), (1, 3), ..., (1, n), (2, 3), ..., (n – 1, n) の順)

  4. 2 乗項 (1, 2, ..., n の順)

他のモデルでは、これらの項のサブセットが同じ順序で使用されます。

あるいは、model が、任意の順序の多項式の項を指定する行列である場合もあります。この場合、model は、因子ごとに 1 つの列とモデルの項ごとに 1 つの行をもつ必要があります。model のすべての行のエントリは列の因子のべき乗です。たとえば、モデルに因子 X1X2、および X3 が含まれている場合、model の行 [0 1 2] によって (X1.^0).*(X2.^1).*(X3.^2) 項が指定されます。model のすべてがゼロの行は定数項を示しますが、省略可能です。

[dCV,X] = daugment(...,param1,val1,param2,val2,...) は、計画の追加パラメーター/値のペアを指定します。有効なパラメーターとその値を次の表に示します。

パラメーター
'bounds'

各因子の上限および下限によって、2nfactors 列の行列として指定します。あるいは、この値は、nfactors 要素を含んでいる cell 配列の場合があります。各要素は、対応する因子の許容範囲値のベクトルを指定します。

'categorical'

カテゴリカル予測子のインデックス。

'display'

'on' または 'off' を入力して、反復カウンターの表示を制御します。既定の設定は 'on' です。

'excludefun'

不要な実行を除外する関数ハンドル。関数が f の場合、b = f(S) という構文に対応しなければなりません。ここで、S は列数が nfactors の処理の行列、b は S と同じ行数のブール値のベクトルです。i 番目の行を S から除外する場合、b(i) は真になります。

'init'

mrunsnfactors 列の行列の初期計画。既定の設定は、無作為に選択された点集合です。

'levels'

各因子のレベルの数を示すベクトル。

'maxiter'

最大反復回数。既定の設定は 10 です。

'options'

値は、複数の試行を並列計算するかどうかと、それらの試行の開始点の生成時に乱数をどのように使用するかを指定するオプションを含む構造体です。statset を使用してオプション構造体を作成します。該当する statset パラメーターは次のとおりです。

  • 'UseParallel'true であり Parallel Computing Toolbox™ がインストールされている場合、並列計算を行います。Parallel Computing Toolbox がインストールされていない場合、計算は逐次モードで行われます。既定の設定は false (逐次計算) です。

  • UseSubstreams — 再生成可能な方法で並列計算する場合は true に設定します。既定値は false です。再現性のある計算を行うには、Streams をサブストリームを許可する型、'mlfg6331_64' または 'mrg32k3a' に設定します。

  • StreamsRandStream オブジェクトまたはそのようなオブジェクトの cell 配列。Streams を指定しないと、dcovary には既定のストリームが使用されます。Streams を指定するように選択した場合、次の場合を除いて単一オブジェクトを使用してください。

    • UseParalleltrue

    • UseSubstreamsfalse

    この場合は、並列プールと同じサイズの cell 配列を使用します。

'tries'

新しい開始点から計画の生成を試行する回数。このアルゴリズムでは、最初の試行を除いて、各試行で無作為な点を使用します。既定の設定は 1 です。

例 1

異なる時点で 8 回の実行を伴う、3 因子線形加法モデルのパラメーターを推定する計画を作成するとします。このプロセスに時間の線形傾向がある場合、モデルの変数として実行時間を含めたいことがあります。以下のように、計画を作成します。

time = linspace(-1,1,8)';
[dCV1,X] = dcovary(3,time,'linear')
dCV1 =
   -1.0000    1.0000    1.0000   -1.0000
    1.0000   -1.0000   -1.0000   -0.7143
   -1.0000   -1.0000   -1.0000   -0.4286
    1.0000   -1.0000    1.0000   -0.1429
    1.0000    1.0000   -1.0000    0.1429
   -1.0000    1.0000   -1.0000    0.4286
    1.0000    1.0000    1.0000    0.7143
   -1.0000   -1.0000    1.0000    1.0000
X =
    1.0000   -1.0000    1.0000    1.0000   -1.0000
    1.0000    1.0000   -1.0000   -1.0000   -0.7143
    1.0000   -1.0000   -1.0000   -1.0000   -0.4286
    1.0000    1.0000   -1.0000    1.0000   -0.1429
    1.0000    1.0000    1.0000   -1.0000    0.1429
    1.0000   -1.0000    1.0000   -1.0000    0.4286
    1.0000    1.0000    1.0000    1.0000    0.7143
    1.0000   -1.0000   -1.0000    1.0000    1.0000

列ベクトル time は一定の要因で、±1 の間の値に正規化されます。一定の因子の行数は、計画の実行の数を指定します。結果の計画 dCV は、各時間において 3 つの制御されたモデルの因子に対する要因設定を与えます。

例 2

次の例は、関数 dummyvar を使用して 8 回の実行をサイズ 2 の 4 ブロックに分け、2 因子の線形加法モデルの推定を行います。

fixed = dummyvar([1 1 2 2 3 3 4 4]);
dCV2 = dcovary(2,fixed(:,1:3),'linear')
dCV2 =
   1   1   1   0   0
  -1  -1   1   0   0
  -1   1   0   1   0
   1  -1   0   1   0
   1   1   0   0   1
  -1  -1   0   0   1
  -1   1   0   0   0
   1  -1   0   0   0

dCV2 の最初の 2 列は 2 つの因子の設定を含み、最後の 3 列は 4 つのブロックのダミー変数コードです。

拡張機能

R2006a より前に導入