manova
説明
manova オブジェクトには、1 因子、2 因子、または多因子 MANOVA の結果が格納されます。一連の応答データの平均のベクトルが特定の因子や複数の因子の値 (水準) に関して異なるかどうかを判別するには、manova オブジェクトのプロパティを使用します。オブジェクト プロパティには、係数推定値、応答データに当てはめる MANOVA モデル、解析の実行に使用される因子に関する情報が含まれています。MANOVA の詳細については、反復測定の多変量分散分析を参照してください。
作成
構文
説明
は、maov = manova(tbl,ResponseVarNames)tbl の変数を因子および応答変数として使用します。引数 ResponseVarNames で、応答データが格納された変数を指定します。
は、ウィルキンソンの表記法で MANOVA モデルを指定します。maov = manova(tbl,formula)formula の項では、tbl の変数名のみを使用します。
では、前の構文におけるいずれかの入力引数の組み合わせに加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、計算する検定統計量、カテゴリカルにする因子、MANOVA モデルのタイプを指定できます。 maov = manova(___,Name=Value)
入力引数
応答データ。数値行列または数値ベクトルとして指定します。Y の各列は個々の応答変数に対応します。manova に入力引数 factors または tbl を渡して因子の値も指定する必要があります。manova は因子の値を応答データに行インデックスで割り当てるため、Y は因子の値を格納する入力引数と同じ行数でなければなりません。
次の例は、1 因子 MANOVA について、manova が因子の値を応答データにどのように割り当てるかを示しています。
この例では、g に因子の値、y に応答データが格納されており、 は i 番目の観測値についての応答データの行ベクトルです。R は応答変数の数です。
次の例は、3 因子 MANOVA について、manova が因子の値を応答データにどのように割り当てるかを示しています。
この例では、g1、g2、g3 に 3 つの因子の値が格納されています。
メモ
関数 manova は、Y の NaN 値、<undefined> 値、空の文字、空の string を無視します。factors または tbl に NaN 値、<undefined> 値、空の文字、空の string が格納されている場合、関数は Y の対応する観測値を無視します。
データ型: single | double
MANOVA の因子と因子の値。数値ベクトル、logical ベクトル、categorical ベクトル、string ベクトル、文字ベクトルの cell 配列、または数値行列として指定します。因子と因子の値は、それぞれグループ化変数およびグループ名と呼ばれることもあります。
1 因子 MANOVA の場合、factors は、各要素が Y の同じ行にある応答データの因子の値を表す列ベクトルまたはベクトルの cell 配列です。2 因子 MANOVA または多因子 MANOVA の場合、factors は、各列が異なる因子に対応する数値行列です。factors の各行に Y の同じ行にある観測値についての因子の値が格納されます。factors と Y の行数は同じでなければなりません。
次の例は、1 因子 MANOVA について、manova が因子の値を応答データにどのように割り当てるかを示しています。
この例では、g は因子の値を格納するベクトル、y は応答データの行列、 は i 番目の観測値についての応答データの行ベクトルです。R は応答変数の数です。
次の例は、3 因子 MANOVA について、manova が因子の値を応答データにどのように割り当てるかを示しています。
この例では、g1、g2、g3 は 3 つの因子の値を格納する数値行列の列です。
メモ
factors または tbl に NaN 値、<undefined> 値、空の文字、空の string が格納されている場合、関数 manova は Y の対応する観測値を無視します。
例: [1,2,1,3,1,...,3,1]
例: ["white","red","white",...,"black","red"]
例: stats=[height,age]; manova(stats,Y);
データ型: single | double | logical | categorical | string | cell
因子、因子の値、および応答データ。table として指定します。tbl の変数には、数値ベクトル、logical ベクトル、categorical ベクトル、string 要素、または文字の cell 配列を格納できます。tbl を指定する場合、応答データ Y、ResponseVarNames、または formula も指定しなければなりません。
Yで応答データを指定する場合、table 変数は MANOVA の因子のみを表します。tblの変数の因子の値は、同じ行インデックスにある応答データYに対応します。tblの行数はYの長さと同じでなければなりません。Yを指定しない場合は、入力引数ResponseVarNamesまたはformulaを使用して、tblのどの変数に応答データが格納されているかを示さなければなりません。名前と値の引数FactorNamesを設定して、MANOVA で使用するtblの因子のサブセットを選択することもできます。関数manovaは、tblの因子変数の値を同じ行の応答データに関連付けます。
メモ
factors または tbl に NaN 値、<undefined> 値、空の文字、空の string が格納されている場合、関数 manova は Y の対応する観測値を無視します。
例: mountain=table(altitude,temperature,soilpH,iron); manova(mountain,["soilpH" "iron"])
データ型: table
応答変数の名前。string ベクトルまたは文字ベクトルの cell 配列として指定します。ResponseVarNames は、tbl のどの変数に応答データが格納されているかを示します。ResponseVarNames を指定する場合、入力引数 tbl も指定しなければなりません。ResponseVarNames の変数の名前は、tbl に含まれる変数の名前でなければなりません。
例: "r"
データ型: char | string | cell
MANOVA モデル。ウィルキンソンの表記法による string スカラーまたは文字ベクトルとして指定します。formula を指定する場合、tbl も指定しなければなりません。formula の項は、tbl に含まれる変数の名前でなければなりません。
例: "r1-r3 ~ f1 + f1:f2:f3"
データ型: char | string
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: manova(factors,Y,CategoricalFactors=[1 2],FactorNames=["school" "major" "age"],ResponseNames=["GPA" "StartYear" "GraduationYear"]) は、factors の最初の 2 つの因子をカテゴリカルとして指定し、因子の名前を "school"、"major"、および "age" と指定し、応答変数の名前を "GPA"、"StartYear"、および "GraduationYear" と指定します。
カテゴリカルとして扱う因子。数値ベクトル、logical ベクトル、string ベクトル、または文字ベクトルの cell 配列として指定します。CategoricalFactors が既定値の "all" に設定されている場合、関数 manova はすべての因子をカテゴリカルとして扱います。
CategoricalFactors は次のいずれかとして指定します。
1 から N までのインデックスを使用する数値ベクトル。ここで、N は因子変数の数です。関数
manovaは、CategoricalFactorsのインデックスをもつ因子をカテゴリカルとして扱います。因子のインデックスは、tblの列における順序です。長さ N の logical ベクトル。
trueというエントリは、対応する因子がカテゴリカルであることを意味します。tblまたはFactorNamesに含まれる名前と一致する因子の名前の string ベクトル。
例: CategoricalFactors=["Location" "Smoker"]
例: CategoricalFactors=[1 3 4]
データ型: single | double | logical | char | string | cell
因子の名前。string ベクトルまたは文字ベクトルの cell 配列として指定します。
manovaの呼び出しでtblを指定する場合、FactorNamesはtblの table 変数のサブセットでなければなりません。manovaは、FactorNamesで指定された因子のみを使用します。この場合、FactorNamesの既定値はtblの因子変数の名前のコレクションです。manovaの呼び出しでfactorsを指定する場合、FactorNamesに任意の名前を指定できます。この場合、FactorNamesの既定値は["Factor1","Factor2",…,"FactorN"]です。ここで、N は因子の数です。
formula を指定した場合、manova は FactorNames を無視します。
例: FactorNames=["time","latitude"]
データ型: char | string | cell
当てはめる MANOVA モデルのタイプ。次の表のいずれかのオプションか、整数、string スカラー、文字ベクトル、または項の行列として指定します。ModelSpecification の既定値は "linear" です。
| オプション | MANOVA モデルに含まれる項 |
|---|---|
"linear" (既定の設定) | 主効果 (線形) 項 |
"interactions" | 主効果とペア単位の交互作用項 |
"purequadratic" | 主効果と 2 次主効果。このオプションを使用するには、すべての因子が連続でなければなりません。すべての因子を連続として指定するには CategoricalFactors = [] を設定します。 |
"quadratic" | 主効果、2 次主効果、およびペア単位の交互作用項。このオプションを使用するには、すべての因子が連続でなければなりません。 |
"polyIJK" | 1 番目の因子は次数 I まで、2 番目の因子は次数 J までの多項式の項。それ以降も同様です。交互作用項の次数が主要項の最大指数を超えることはありません。各因子の次数を指定する必要があります。 |
"full" | 主効果とすべての交互作用項 |
k 水準までのすべての主効果と交互作用項を含めるには、ModelSpecification を k と等しく設定します。ModelSpecification が整数の場合、MANOVA モデルにおける交互作用項の最大水準は ModelSpecification と因子数のうちの小さい方になります。
formula を指定した場合、manova は ModelSpecification を無視します。
また、次のいずれかを使用して MANOVA モデルの項を指定できます。
因子ごとに 1 つの列をもつ二項行列または単項行列 T。MANOVA モデルの各項は T の行に対応する積です。行要素は対応する因子の指数です。たとえば、
T(i,:) = [1 2 1]は、項iが であることを意味します。関数manovaでは、MANOVA モデルの定数項は自動的に含まれるため、項の行列にゼロの行を含める必要はありません。1 つ以上の項を表す、ウィルキンソンの表記法による文字ベクトルまたは string スカラー式。式で使用する名前は、
FactorNamesまたはResponseNamesに格納されている名前か、table 変数名 (tblを指定した場合) でなければなりません。
例: ModelSpecification="poly3212"
例: ModelSpecification=3
例: ModelSpecification="r1-r3 ~ c1*c2"
例: ModelSpecification=[0 0 0;1 0 0;0 1 0;0 0 1]
データ型: single | double | char | string
応答変数の名前。1 行 R 列の string ベクトルまたは 1 行 R 列の文字ベクトルの cell 配列として指定します。ここで、R は応答変数の数です。ResponseVarNames または formula を指定した場合、manova は ResponseNames を無視します。
例: ResponseNames=["soilpH" "plantHeight"]
データ型: char | string | cell
MANOVA 検定統計量。"all" または次の 1 つ以上の値として指定します。
| 値 | 検定名 | 式 |
|---|---|---|
"pillai" (既定の設定) | ピライのトレース | ここで、θi の値は特性方程式 Qh - θ(Qh + Qe) = 0 の解です。Qh と Qe は、それぞれ仮説と残差二乗和の積の行列です。 |
"hotelling" | ホテリング・ローリーのトレース | ここで、λi は特性方程式 |Qh - λQe| = 0 の解です。 |
"wilks" | ウィルクスのラムダ | |
"roy" | ロイの最大根統計量 | |
TestStatistic を "all" として指定すると、manova は上記の表のすべての検定統計量を計算します。
例: TestStatistic=["pillai" "roy"]
データ型: char | string | cell
プロパティ
この プロパティ は読み取り専用です。
カテゴリカル因子のインデックス。数値ベクトルとして指定します。このプロパティは、名前と値の引数 CategoricalFactors で設定されます。
データ型: double
この プロパティ は読み取り専用です。
当てはめられる MANOVA モデルの係数。数値行列として指定します。行列の各列は異なる応答変数に対応し、各行は MANOVA モデルの異なる項に対応します。
maov オブジェクトの各カテゴリカル因子について、manova は 1 つの因子の値を参照値として予約します。その後、manova は各カテゴリカル因子を F – 1 個のダミー変数に展開します。ここで、F は因子の値の数です。各ダミー変数が MANOVA の実行時に異なる係数を使用して当てはめられます。因子の値に対応するダミー変数は、観測値に同じ因子の値が割り当てられる場合は 1、参照値の因子の値が割り当てられる場合は -1、それ以外の場合は 0 になります。詳細については、エフェクト コーディングで作成されたダミー変数を参照してください。
連続する因子の係数は、すべての因子の値で一定になります。
データ型: single | double
この プロパティ は読み取り専用です。
誤差 (残差) の自由度。推定された係数の個数を観測値の個数から減算した値に等しくなります。正の整数を指定します。
データ型: double
この プロパティ は読み取り専用です。
係数の名前。string ベクトルとして指定します。関数 manova は、各カテゴリカル因子を F – 1 個のダミー変数に展開します。ここで、F は因子の値の数です。ベクトル ExpandedFactorNames に各ダミー変数の名前が格納されます。詳細については、Coefficients を参照してください。
データ型: string
この プロパティ は読み取り専用です。
MANOVA モデルの当てはめに使用される因子の名前と値。table として指定します。table 変数の名前が因子の名前で、それぞれの変数に対応する因子の値が格納されます。モデルの当てはめに使用される因子が table として与えられていない場合、manova はそれらを因子ごとに 1 つの列をもつ table に変換します。
このプロパティは、入力引数 tbl、または因子の入力引数と名前と値の引数 FactorNames の組み合わせで設定されます。
データ型: table
この プロパティ は読み取り専用です。
MANOVA モデルの当てはめに使用される因子の名前。string ベクトルとして指定します。このプロパティは、入力引数 tbl または名前と値の引数 FactorNames で設定されます。
データ型: string
この プロパティ は読み取り専用です。
MANOVA モデル。MultivariateLinearFormula オブジェクトとして指定します。このプロパティは、入力引数 formula または名前と値の引数 ModelSpecification で設定されます。
この プロパティ は読み取り専用です。
応答変数の推定共分散行列。double 行列または single 行列として指定します。共分散行列の詳細については、共分散を参照してください。
データ型: single | double
この プロパティ は読み取り専用です。
応答変数の名前。string ベクトルとして指定します。このプロパティは、入力引数 ResponseVarNames または名前と値の引数 ResponseNames で設定されます。
データ型: string
この プロパティ は読み取り専用です。
MANOVA の実行に使用される検定統計量。string ベクトルとして指定します。このプロパティは、名前と値の引数 TestStatistic で設定されます。
データ型: string
この プロパティ は読み取り専用です。
MANOVA モデルの当てはめに使用される応答データ。数値ベクトルとして指定します。このプロパティは、入力引数 Y、または入力引数 tbl と入力引数 ResponseVarNames の組み合わせで設定されます。
データ型: single | double
オブジェクト関数
barttest | Bartlett's test for multivariate analysis of variance (MANOVA) |
boxchart | Box chart (box plot) for multivariate analysis of variance (MANOVA) |
canonvars | Canonical variables |
coeftest | Linear hypothesis test on MANOVA model coefficients |
groupmeans | Mean response estimates for multivariate analysis of variance (MANOVA) |
multcompare | Multiple comparison of marginal means for multiple analysis of variance (MANOVA) |
plotprofile | Plot MANOVA response variable means with grouping |
stats | Multivariate analysis of variance (MANOVA) table |
例
fisheriris データ セットを読み込みます。
load fisheriris列ベクトル species には、3 種類のアヤメの種 (setosa、versicolor、virginica) が格納されています。行列 meas には、花に関する 4 種類の測定値、がく片の長さと幅 (cm) と花弁の長さと幅 (cm) が格納されています。
1 因子 MANOVA を実行して、4 つの測定値の平均のベクトルが 3 つの花の種のいずれでも同じであるという帰無仮説を検定します。
maov = manova(species,meas)
maov =
1-way manova
Y1,Y2,Y3,Y4 ~ 1 + Factor1
Source DF TestStatistic Value F DFNumerator DFDenominator pValue
_______ ___ _____________ ______ ______ ___________ _____________ __________
Factor1 2 pillai 1.1919 53.466 8 290 9.7422e-53
Error 147
Total 149
Properties, Methods
maov は 1 因子 MANOVA の結果を格納する 1 因子 manova オブジェクトです。MANOVA モデルの式と MANOVA 表が出力に表示されます。この式では、花の測定値が項 Y1、Y2、Y3、Y4 で表されています。Factor1 は花の種を表します。MANOVA 表には、ピライのトレースの検定統計量についての "p" 値が含まれています。この "p" 値は、帰無仮説を 95% の信頼水準で棄却できるだけの十分な証拠があり、アヤメの種類が 4 つの測定値の少なくとも 1 つに影響することを示しています。
carsmall データ セットを読み込みます。
load carsmall変数 Model_Year には自動車が製造された年のデータが格納され、変数 Cylinders には自動車のエンジンの気筒数のデータが格納されています。変数 Acceleration および Displacement には、自動車の加速度と排気量のデータが格納されています。
関数tableを使用して、Model_Year と Cylinders のデータから因子の値の table を作成します。
tbl = table(Model_Year,Cylinders,VariableNames=["Year" "Cylinders"]);
Acceleration と Displacement から応答変数の行列を作成します。
y = [Acceleration Displacement];
tbl の因子の値と y の応答変数を使用して 2 因子 MANOVA を実行します。
maov = manova(tbl,y)
maov =
2-way manova
Y1,Y2 ~ 1 + Year + Cylinders
Source DF TestStatistic Value F DFNumerator DFDenominator pValue
_________ __ _____________ ________ ______ ___________ _____________ __________
Year 2 pillai 0.084893 2.1056 4 190 0.081708
Cylinders 2 pillai 0.94174 42.27 4 190 2.5049e-25
Error 95
Total 99
Properties, Methods
maov は 2 因子 MANOVA の結果を格納する 2 因子 manova オブジェクトです。MANOVA モデルの式と MANOVA 表が出力に表示されます。この式では、自動車の加速度と排気量が変数 Y1 と Y2 でそれぞれ表されています。MANOVA 表で、MANOVA モデルの Cylinders の項に対応する "p" 値が小さくなっています。この小さい "p" 値は、95% の信頼水準で Cylinders が平均応答ベクトルに統計的に有意な影響を与えると結論付けるだけの十分な証拠があることを示しています。Year の "p" 値は 0.05 より大きく、95% の信頼水準で Year が平均応答ベクトルに統計的に有意な影響を与えると結論付けるだけの十分な証拠がないことを示しています。
関数barttestを使用して、因子 Year に対応する平均応答ベクトルの範囲に含まれる空間の次元を調べます。
barttest(maov,"Year")ans = 0
出力から Year に対応する平均応答ベクトルの範囲は点になり、それぞれの間に統計的な差はないことがわかります。この結果は、Year の "p" 値が大きいことと整合します。
patients データ セットを読み込みます。
load patients変数 Systolic および Diastolic には、患者の拡張期および収縮期の血圧のデータが格納されています。変数 Smoker および SelfAssessedHealthStatus には、患者の喫煙状況と健康状態の自己評価のデータが格納されています。
関数tableを使用して、Systolic、Diastolic、Smoker、および SelfAssessedHealthStatus のデータから因子の値の table を作成します。
tbl = table(Systolic,Diastolic,Smoker,SelfAssessedHealthStatus,VariableNames=["Systolic" "Diastolic" "Smoker" "SelfAssessed"]);
2 因子 MANOVA を実行して、喫煙状況は拡張期および収縮期の血圧に統計的に有意な影響を与えないという帰無仮説と、健康状態の自己評価は拡張期および収縮期の血圧に影響を与えないという帰無仮説を検定します。
maov = manova(tbl,["Systolic" "Diastolic"])
maov =
2-way manova
Systolic,Diastolic ~ 1 + Smoker + SelfAssessed
Source DF TestStatistic Value F DFNumerator DFDenominator pValue
____________ __ _____________ ________ _______ ___________ _____________ __________
Smoker 1 pillai 0.67917 99.494 2 94 6.2384e-24
SelfAssessed 3 pillai 0.053808 0.87552 6 190 0.51392
Error 95
Total 99
Properties, Methods
maov は 2 因子 MANOVA の結果を格納する manova オブジェクトです。MANOVA モデルの Smoker の項の "p" 値が小さく、Smoker の因子の値によって平均応答ベクトルが統計的に異なると結論付けるだけの十分な証拠があることを示しています。一方、SelfAssessed の項の "p" 値は大きく、SelfAssessed のいずれの値でも平均応答ベクトルが統計的に同じであるという帰無仮説を棄却するだけの十分な証拠がないことを示しています。
因子 Smoker の値の周辺平均を計算します。
groupmeans(maov,"Smoker")ans=2×5 table
Smoker Mean SE Lower Upper
______ ______ _______ ______ ______
false 99.203 0.45685 98.296 100.11
true 109.45 0.62574 108.21 110.7
出力から、非喫煙者の周辺平均の方が喫煙者の周辺平均より低いことがわかります。
patients データ セットを読み込みます。
load patients変数 Systolic および Diastolic には、患者の拡張期および収縮期の血圧のデータが格納されています。変数 Weight、Height、および Smoker には、患者の体重、身長、および喫煙状況のデータが格納されています。
関数tableを使用して、Systolic、Diastolic、Weight、Height、および Smoker のデータから因子の値の table を作成します。
tbl = table(Systolic,Diastolic,Smoker,Weight,Height,VariableNames=["Systolic" "Diastolic" "Smoker" "Weight" "Height"]);
3 因子 MANOVA を実行して、喫煙状況は拡張期および収縮期の血圧に統計的に有意な影響を与えないという帰無仮説と、体重と身長の間の交互作用は拡張期および収縮期の血圧に統計的に有意な影響を与えないという帰無仮説を検定します。
maov = manova(tbl,"Systolic,Diastolic ~ Smoker + Weight*Height",CategoricalFactors=["Smoker"])
maov =
N-way manova
Systolic,Diastolic ~ 1 + Smoker + Weight*Height
Source DF TestStatistic Value F DFNumerator DFDenominator pValue
_____________ __ _____________ ________ _______ ___________ _____________ __________
Smoker 1 pillai 0.66141 91.809 2 94 7.8511e-23
Weight 1 pillai 0.020516 0.98446 2 94 0.37746
Height 1 pillai 0.012788 0.6088 2 94 0.54613
Weight:Height 1 pillai 0.019438 0.93169 2 94 0.39749
Error 95
Total 99
Properties, Methods
maov は 3 因子 MANOVA の結果を格納する manova オブジェクトです。MANOVA モデルの Smoker の項の "p" 値が小さく、Smoker の因子の値によって平均応答ベクトルが統計的に異なると結論付けるだけの十分な証拠があることを示しています。一方、Weight:Height の項の "p" 値は大きく、体重と身長の値のいずれの組み合わせでも平均応答ベクトルに統計的な差はないという帰無仮説を棄却するだけの十分な証拠がないことを示しています。
Smoker の値の平均のプロファイル プロットを表示します。
plotprofile(maov,"Smoker")
legend
プロットから、非喫煙者よりも喫煙者の方が拡張期および収縮期の血圧の平均値が高いことがわかります。
詳細
共分散は、2 つの確率変数ベクトル A および B について次のように定義されます。
N は各列の長さ、μA および μB はそれぞれ A および B の平均値であり、* は複素共役を表します。
2 つの確率変数の共分散行列は、次のような各変数間のペアワイズ共分散の計算値の行列です。
観測値から構成される確率変数が各列にある行列 X に対する共分散行列は、各列の組み合わせに対するペアワイズ共分散の計算値です。つまり、 です。
代替機能
関数 manova1 は、オブジェクト関数 barttest の出力と manova オブジェクトのプロパティのサブセットを返します。manova1 は 1 因子 MANOVA に制限されます。
参照
[1] Krzanowski, Wojtek. J. Principles of Multivariate Analysis: A User's Perspective. New York: Oxford University Press, 1988.
[2] Morrison, Donald F. Multivariate Statistical Methods. 2nd ed, McGraw-Hill, 1976.
バージョン履歴
R2023b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)