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列の行列としての初期計画。既定の設定は、無作為に選択された点集合です。

“水平”

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

'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 配列を使用します。

“尝试”

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

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

y = β 0 + β 1 x + 1 β 2 x + 2 β 3 x + 3 β 12 x x 1 + 2 β 13 x x 1 + 3 β 23 x x 2 + 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 最適計画法を返すことがあります。各アルゴリズムを複数回実行し、最終的な計画に対する最適な結果を選択します。両方の関数は、この反復と比較を自動化する“尝试”パラメーターをもちます。

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

拡張機能

バージョン履歴

R2006a より前に導入