Main Content

cordexch

座標交換

構文

dCE = cordexch(nfactors,nruns)
[dCE,X] = cordexch(nfactors,nruns)
[dCE,X] = cordexch(nfactors,nruns,'model')
[dCE,X] = cordexch(...,'name',value)

説明

dCE = cordexch(nfactors,nruns) は、座標交換アルゴリズムを使用して、線形加法モデルの実行回数が nruns (dCE の行数)、因子数が nfactors (dCE の列数) である D 最適計画 dCE を生成します。モデルには、定数項が含まれています。

[dCE,X] = cordexch(nfactors,nruns) は、関連する計画行列 X も返します。この行列の列は dCE の各処理 (行) で評価されるモデル項です。

[dCE,X] = cordexch(nfactors,nruns,'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 のすべてがゼロの行は定数項を示しますが、省略可能です。

[dCE,X] = cordexch(...,'name',value) は、計画用に 1 つ以上の名前と値のペアをオプションで指定します。有効なパラメーターとその値を次の表に示します。一重引用符で囲んで name を指定します。

名前
bounds

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

categorical

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

display

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

excludefun

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

init

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

levels

各因子の水準の数を示すベクトル。bounds が cell 配列として指定される場合には使用しません。

maxiter

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

tries

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

options

並列計算と乱数設定のオプション。構造体として指定します。並列計算を行うには、Parallel Computing Toolbox™ が必要です。

statset を使用して options 構造体を作成します。構造体のフィールドは以下のとおりです。

  • UseParallel — 並列計算する場合は true に設定します。既定値は false です。

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

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

    • UseParalleltrue

    • UseSubstreamsfalse

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

以下の 3 因子、7 項の交互作用モデルにおいて、パラメーターを推定する計画を得るものとします。

y=β0+β1x+1β2x+2β3x+3β12xx1+2β13xx1+3β23xx2+3ε

cordexch を使用して、実行回数が 7 回の D 最適計画を作成します。

nfactors = 3;
nruns = 7;
[dCE,X] = cordexch(nfactors,nruns,'interaction','tries',10)
dCE =
    -1     1     1
    -1    -1    -1
     1     1     1
    -1     1    -1
     1    -1     1
     1    -1    -1
    -1    -1     1
X =
     1    -1     1     1    -1    -1     1
     1    -1    -1    -1     1     1     1
     1     1     1     1     1     1     1
     1    -1     1    -1    -1     1    -1
     1     1    -1     1    -1     1    -1
     1     1    -1    -1    -1    -1     1
     1    -1    -1     1     1    -1    -1

計画行列 X の列は、計画 dCE の各行で評価されたモデル項です。これらの項は、左から右への順で現れます。定数項、線形項 (1、2、3)、交互作用項 (12、13、23)。線形回帰で説明したように、X を使って、dCE の計画点において測定された応答データにモデルを当てはめます。

アルゴリズム

cordexchrowexch は、反復探索アルゴリズムを使用します。これらは、各ステップで D = |XTX| を増加させるように、初期計画行列 X を増加するように変更して操作します。これら両方のアルゴリズムには、初期の計画の選択と、漸進的変化の選択に組み込まれるランダム性があります。結果として、両方のアルゴリズムは、大域的にではなく局所的に D 最適計画を返すことがあります。各アルゴリズムを複数回実行し、最終的な計画に対する最適な結果を選択します。両方の関数は、この反復と比較を自動化する 'tries' パラメーターをもちます。

rowexch が使用する行交換アルゴリズムとは異なり、cordexch は候補セットを使用しません (というよりは、計画空間全体が候補セットです)。各ステップにおいて、座標交換アルゴリズムは、計画空間の隣接した点で評価した X の 1 つの要素を新しい要素と交換します。候補セットがないので、メモリへの要求は少なくなりますが、検索の規模が小さくなるので、座標交換アルゴリズムは局所的最小値に陥る傾向があります。

拡張機能

バージョン履歴

R2006a より前に導入