random
クラス: GeneralizedLinearMixedModel
当てはめた一般化線形混合効果モデルからのランダム応答の生成
説明
は、前述の構文のいずれかを使用する 1 つ以上の ysim
= random(___,Name,Value
)Name,Value
のペアの引数により指定された追加オプションによって、シミュレートされた応答を返します。たとえば、観測値の重み、二項分布のサイズまたはモデルのオフセットを指定できます。
入力引数
glme
— 一般化線形混合効果モデル
GeneralizedLinearMixedModel
オブジェクト
一般化線形混合効果モデル。GeneralizedLinearMixedModel
オブジェクトとして指定します。このオブジェクトのプロパティとメソッドについては、GeneralizedLinearMixedModel
を参照してください。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
BinomialSize
— 二項分布の試行回数
ones(m,1)
(既定値) | 正の整数値の m 行 1 列のベクトル
二項分布の試行回数。'BinomialSize'
と正の整数値の m 行 1 列のベクトルから構成されるコンマ区切りペアとして指定します。ここで、m は tblnew
の行の数になります。'BinomialSize'
名前と値のペアは、二項分布にのみ適用します。値は、ランダム応答値を生成する場合に二項の試行数を指定します。
データ型: single
| double
Offset
— モデル オフセット
zeros(m,1)
(既定値) | スカラー値のベクトル
モデル オフセット。長さ m のスカラー値のベクトルとして指定されます。ここで、m は tblnew
の行の数です。オフセットは追加の予測子として使用され、1
で固定した係数値をもちます。
Weights
— 観測値の重み
非負のスカラー値の m 行 1 列のベクトル
観測値の重み。'Weights'
と、非負のスカラー値の m 行 1 列のベクトルで構成されるコンマ区切りのペアとして指定します。ここで、m は、tblnew
の行数です。応答の分布が二項またはポアソンである場合、'Weights'
は正の整数のベクトルでなければなりません。
データ型: single
| double
出力引数
例
GLME モデルからのランダム応答のシミュレート
標本データを読み込みます。
load mfr
このシミュレーションされたデータは、世界中で 50 の工場を操業している製造企業から取得しており、各工場が完成品の生産のためにバッチ処理を実行しています。同社は各バッチの欠陥数を減少させるために新たな製造プロセスを開発しました。新しいプロセスの効果をテストするため、同社は実験に参加させる 20 工場を無作為に選びました。10 工場では新プロセスを実施しますが、残りの 10 工場では旧プロセスの実行を続けます。各 20 工場で、同社は 5 つのバッチ (合計 100 バッチ) を実行し以下のデータを記録しました。
新しいプロセスがバッチに使用されたかどうかを示すフラグ (
newprocess
)各バッチの処理時間。時間単位 (
time
)バッチの温度。摂氏 (
temp
)バッチで使用する化学薬品の供給業者 (
A
、B
またはC
) を示すカテゴリカル変数 (supplier
)バッチ内の欠陥数 (
defects
)
またデータに含まれる time_dev
と temp_dev
は、摂氏 20 度で 3 時間の標準プロセスから得られる時間と温度の絶対偏差をそれぞれ表します。
固定効果予測子として newprocess
、time_dev
、temp_dev
および supplier
を使用して一般化線形混合効果モデルを当てはめます。工場特有の変動に起因して品質に差がある可能性を考慮するために、factory
別にグループ化された切片の変量効果項を含めます。応答変数 defects
はポアソン分布であり、このモデルの適切なリンク関数は対数です。係数の予測にラプラス近似メソッドを使用します。ダミー変数エンコードを 'effects'
として指定すると、ダミー変数の係数の合計が 0 になります。
欠陥数はポアソン分布を使用してモデル化できます
これは一般化線形混合効果モデルに対応します
ここで
は、バッチ 処理中の工場 で実行されたバッチで観測された欠陥数です。
は、バッチ () 処理中の工場 () に対応する欠陥の平均数です。
、 および は、バッチ 処理中の工場 に対応する各変数の測定値です。たとえば は、工場 で実行されたバッチ 処理中に新プロセスが使用されたかどうかを示します。
および はエフェクト (ゼロサム) コーディングを使用するダミー変数であり、バッチ 処理中に工場 で実行されたバッチに対して、それぞれ会社
C
またはB
が加工化学薬品を供給したかどうかを示します。は、工場特有の品質変動に相当する、各工場 の変量効果の切片です。
glme = fitglme(mfr,'defects ~ 1 + newprocess + time_dev + temp_dev + supplier + (1|factory)','Distribution','Poisson','Link','log','FitMethod','Laplace','DummyVarCoding','effects');
random
を使用して、当てはめたモデルから新しい応答ベクトルをシミュレートします。
rng(0,'twister'); % For reproducibility ynew = random(glme);
シミュレートされた応答ベクトルの最初の 10 行を表示します。
ynew(1:10)
ans = 10×1
3
3
1
7
5
8
7
9
5
9
新しい入力値を使用して、新しい応答ベクトルをシミュレートします。mfr
の最初の 10 件を tblnew
にコピーすることにより新規テーブルを作成します。
tblnew = mfr(1:10,:);
mfr
の先頭 10 行には、工場 1 および 2 の検査 1 ~ 5 から収集したデータが含まれています。どちらの工場でも実験時のすべての検査に古いプロセスを使用したので、10 個の観測値はすべて newprocess = 0
です。
newprocess
の値を tblnew
の観測値の 1
に変更します。
tblnew.newprocess = ones(height(tblnew),1);
tblnew
の新しい入力値を使用して、新しい応答をシミュレートします。
ynew2 = random(glme,tblnew)
ynew2 = 10×1
2
3
5
4
2
2
2
1
2
0
詳細
条件付き分布メソッド
random
は、以下のように当てはめた一般化線形混合効果モデルから乱数データを生成します。
をサンプリングします。ここで、 は変量効果について推定した事前分布、 は推定した共分散パラメーターのベクトル、 は推定した分散パラメーターです。
i= 1 ~ m について与えられた bsim に対して をサンプリングします。ここで は、与えられた bsim およびモデル パラメーターに対する i 番目の新しい応答 ynew_i の条件付き分布です。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)