Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

rowexch

行交換

構文

dRE = rowexch(nfactors,nruns)
[dRE,X] = rowexch(nfactors,nruns)
[dRE,X] = rowexch(nfactors,nruns,model)
[dRE,X] = rowexch(...,param1,val1,param2,val2,...)

説明

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

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

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

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

パラメーター
'bounds'

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

'categorical'

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

'display'

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

'excludefun'

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

'init'

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

'levels'

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

'maxiter'

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

options

並列実行するかどうかを指定し、乱数ストリームを指定する構造体。statset を使用して options 構造体を作成します。並列計算には Parallel Computing Toolbox™ が必要です。オプションのフィールドは以下のとおりです。

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

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

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

    • UseParalleltrue

    • UseSubstreamsfalse

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

'tries'

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

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

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

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

nfactors = 3;
nruns = 7;
[dRE,X] = rowexch(nfactors,nruns,'interaction','tries',10)
dRE =
    -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 の列は、計画 dRE の各行で評価されたモデル項です。これらの項は、左から右への順で現れます。定数項、線形項 (1、2、3)、交互作用項 (12、13、23)。線形回帰で説明したように、X を使って、dRE の計画点において測定された応答データにモデルを当てはめます。

アルゴリズム

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

各ステップにおいて、行交換アルゴリズムは、X の行全体を、実行可能な処理の候補セットにおいて評価された計画行列 C の行と交換します。関数 rowexch は、関数 candgen と関数 candexch を順に呼び出すことによって 2 ステップで動作し、指定したモデルに適切な C を自動的に作成します。candexch を直接呼び出すことによって、ユーザー独自の C を提供します。いずれの場合も、計画行列 C が大きければ、そのメモリにおいて静的に存在することが、計算に影響を及ぼすことがあります。

拡張機能

バージョン履歴

R2006a より前に導入