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, ..., n の順)
交互作用項 ((1, 2), (1, 3), ..., (1, n), (2, 3), ..., (n–1, n) の順)
2 乗項 (1, 2, ..., n の順)
他のモデルでは、これらの項のサブセットが同じ順序で使用されます。
あるいは、model
が、任意の順序の多項式の項を指定する行列である場合もあります。この場合、model
は、因子ごとに 1 つの列とモデルの項ごとに 1 つの行をもつ必要があります。model
のすべての行のエントリは列の因子のべき乗です。たとえば、モデルに因子 X1
、X2
、および X3
が含まれている場合、model
の行 [0 1 2]
によって (X1.^0).*(X2.^1).*(X3.^2)
項が指定されます。model
のすべてがゼロの行は定数項を示しますが、省略可能です。
[dRE,X] = rowexch(...,
は、計画の追加パラメーター/値のペアを指定します。有効なパラメーターとその値を次の表に示します。param1
,val1
,param2
,val2
,...)
パラメーター | 値 |
---|---|
'bounds' | 各因子の上限および下限によって、 |
'categorical' | カテゴリカル予測子のインデックス。 |
'display' |
|
'excludefun' | 不要な実行を除外する関数ハンドル。関数が f の場合、b = f(S) という構文に対応しなければなりません。ここで、S は列数が |
'init' |
|
'levels' | 各因子の水準の数を示すベクトル。 |
'maxiter' | 最大反復回数。既定の設定は |
options | 並列実行するかどうかを指定し、乱数ストリームを指定する構造体。
|
'tries' | 新しい開始点から計画の生成を試行する回数。このアルゴリズムでは、最初の試行を除いて、各試行で無作為な点を使用します。既定の設定は |
例
以下の 3 因子、7 項の交互作用モデルにおいて、パラメーターを推定する計画を得るものとします。
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
の計画点において測定された応答データにモデルを当てはめます。
アルゴリズム
cordexch
と rowexch
は、反復探索アルゴリズムを使用します。これらは、各ステップで D = |XTX| を増加させるように、初期計画行列 X を増加するように変更して操作します。これら両方のアルゴリズムには、初期の計画の選択と、漸進的変化の選択に組み込まれるランダム性があります。結果として、両方のアルゴリズムは、大域的にではなく局所的に D 最適計画を返すことがあります。各アルゴリズムを複数回実行し、最終的な計画に対する最適な結果を選択します。両方の関数は、この反復と比較を自動化する 'tries'
パラメーターをもちます。
各ステップにおいて、行交換アルゴリズムは、X の行全体を、実行可能な処理の候補セットにおいて評価された計画行列 C の行と交換します。関数 rowexch
は、関数 candgen
と関数 candexch
を順に呼び出すことによって 2 ステップで動作し、指定したモデルに適切な C を自動的に作成します。candexch
を直接呼び出すことによって、ユーザー独自の C を提供します。いずれの場合も、計画行列 C が大きければ、そのメモリにおいて静的に存在することが、計算に影響を及ぼすことがあります。
拡張機能
バージョン履歴
R2006a より前に導入