Main Content

predict

与えられた予測子の値から予測された値を計算

説明

ypred = predict(rm,tnew) は、テーブル t から取得した予測子の値を使用して、反復測定モデル rm から予測値を返します。

ypred = predict(rm,tnew,Name,Value) は、1 つ以上の Name,Value ペア引数で指定された追加オプションにより、反復測定モデル rm から予測値を返します。

たとえば、被験者内計画行列を指定できます。

また、[ypred,yci] = predict(___) は、予測値の 95% の信頼区間も返します。

すべて折りたたむ

標本データを読み込みます。

load fisheriris

列ベクトル species は、3 種類のアヤメ (setosa、versicolor、virginica) で構成されています。double 行列 meas は、花に関する 4 種類の測定値、がく片の長さと幅 (cm) と花弁の長さと幅 (cm) で構成されています。

データを table 配列に保存します。

t = table(species,meas(:,1),meas(:,2),meas(:,3),meas(:,4), ...
    'VariableNames',{'species','meas1','meas2','meas3','meas4'});
Meas = dataset([1 2 3 4]','VarNames',{'Measurements'});

反復予測モデルを当てはめます。ここで、測定が応答、種類が予測子変数となります。

rm = fitrm(t,'meas1-meas4~species','WithinDesign',Meas);

3 つの種類に対する応答を予測します。

Y = predict(rm,t([1 51 101],:))
Y = 3×4

    5.0060    3.4280    1.4620    0.2460
    5.9360    2.7700    4.2600    1.3260
    6.5880    2.9740    5.5520    2.0260

標本データを読み込みます。

load longitudinalData

行列 Y には 16 人の応答データが含まれています。応答は 5 つの時間点 (time = 0、2、4、6、8) で測定された薬の血中濃度です。Y の各行は 1 人の個人に対応し、各列は 1 つの時間点に対応します。最初の 8 人の被験者は女性で、次の 8 人の被験者は男性です。このデータは、シミュレーションされたものです。

性別情報を格納する変数を定義します。

Gender = ['F' 'F' 'F' 'F' 'F' 'F' 'F' 'F' 'M' 'M' 'M' 'M' 'M' 'M' 'M' 'M']';

データを所定の table 配列形式で保存し、反復測定の解析を実行します。

t = table(Gender,Y(:,1),Y(:,2),Y(:,3),Y(:,4),Y(:,5), ...
    'VariableNames',{'Gender','t0','t2','t4','t6','t8'});

被験者内変数を定義します。

Time = [0 2 4 6 8]';

反復予測モデルを当てはめます。ここで、血中濃度が応答、性別が予測子変数となります。

rm = fitrm(t,'t0-t8 ~ Gender','WithinDesign',Time);

中間の時点での応答を予測します。

time = linspace(0,8)';
Y = predict(rm,t([1 5 8 12],:), ...
    'WithinModel','orthogonalcontrasts','WithinDesign',time);

推定された周辺平均に沿って予測値をプロットします。

plotprofile(rm,'Time','Group',{'Gender'})
hold on; 
plot(time,Y,'Color','k','LineStyle',':');
legend('Gender=F','Gender=M','Predictions')
hold off

Figure contains an axes object. The axes object with xlabel Time, ylabel Estimated marginal means contains 6 objects of type line. These objects represent Gender=F, Gender=M, Predictions.

標本データを読み込みます。

load longitudinalData

行列 Y には 16 人の応答データが含まれています。応答は 5 つの時間点 (time = 0、2、4、6、8) で測定された薬の血中濃度です。Y の各行は個人に、各列は時点に対応します。最初の 8 人の被験者は女性で、次の 8 人の被験者は男性です。このデータは、シミュレーションされたものです。

性別情報を格納する変数を定義します。

Gender = ['F' 'F' 'F' 'F' 'F' 'F' 'F' 'F' 'M' 'M' 'M' 'M' 'M' 'M' 'M' 'M']';

データを所定の table 配列形式で保存し、反復測定の解析を実行します。

t = table(Gender,Y(:,1),Y(:,2),Y(:,3),Y(:,4),Y(:,5), ...
    'VariableNames',{'Gender','t0','t2','t4','t6','t8'});

被験者内変数を定義します。

Time = [0 2 4 6 8]';

反復予測モデルを当てはめます。ここで、血中濃度が応答、性別が予測子変数となります。

rm = fitrm(t,'t0-t8 ~ Gender','WithinDesign',Time);

中間の時点での応答を予測します。

time = linspace(0,8)';
[ypred,ypredci] = predict(rm,t([1 5 8 12],:), ...
    'WithinModel','orthogonalcontrasts','WithinDesign',time);

予測値と、予測値の信頼区間を、推定された周辺平均に沿ってプロットします。

p1 = plotprofile(rm,'Time','Group',{'Gender'});
hold on; 
p2 = plot(time,ypred,'Color','k','LineStyle',':');
p3 = plot(time,ypredci(:,:,1),'k--');
p4 = plot(time,ypredci(:,:,2),'k--');
legend([p1;p2(1);p3(1)],'Gender=F','Gender=M','Predictions','Confidence Intervals')
hold off

Figure contains an axes object. The axes object with xlabel Time, ylabel Estimated marginal means contains 14 objects of type line. These objects represent Gender=F, Gender=M, Predictions, Confidence Intervals.

入力引数

すべて折りたたむ

反復測定モデル。RepeatedMeasuresModel オブジェクトとして返します。

このオブジェクトのプロパティとメソッドについては、RepeatedMeasuresModel を参照してください。

反復測定モデル rm の予測子として使用する応答変数と被験者間要因の値を含む新しいデータ。テーブルとして指定します。tnew には rm の作成に使用するすべての被験者間要因が格納されていなければなりません。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: ypred = predict(rm,tnew,'alpha',0.01)

予測値の信頼区間の有意水準。'alpha' と 0 ~ 1 の範囲のスカラー値から構成されるコンマ区切りのペアとして指定します。信頼水準は 100*(1–alpha)% です。

例: 'alpha',0.01

データ型: double | single

被験者内要因のモデル。'WithinModel' と以下のいずれかで構成されるコンマ区切りペアとして指定します。

  • 'separatemeans' — グループごとの平均を計算します。

  • 'orthogonalcontrasts' — 被験者内計画が 1 つの数値因子 T で構成されている場合に有効です。これにより、最大次数が T(r-1) である直交多項式 (r は反復測定の回数) で構成されるモデルが指定されます。

  • 被験者内要因のモデル仕様を定義する文字ベクトルまたは string スカラー。

例: 'WithinModel','orthogonalcontrasts'

データ型: char | string

被験者内要因の計画。'WithinDesign' とベクトル、行列、テーブルのいずれかで構成されるコンマ区切りペアとして指定します。これにより、被験者内要因の値が RM.WithinDesign プロパティと同じ形式で得られます。

例: 'WithinDesign','Time'

データ型: single | double | table

出力引数

すべて折りたたむ

反復測定モデル rm から得られる予測値。n 行 r 列の行列として返します。ここで、n は tnew の行数、r は rm の反復測定の回数です。

反復測定モデル rm からの予測値の信頼区間。n x r x 2 の行列として返されます。

これは、指定した予測子の値での平均応答を予測するための非同時区間です。予測値 ypred(i,j) に対して、区間の下限は yci(i,j,1)、上限は yci(i,j,2) です。

バージョン履歴

R2014a で導入

参考

|