Main Content

aoctool

共分散の対話型の解析

構文

aoctool(x,y,group)
aoctool(x,y,group,alpha)
aoctool(x,y,group,alpha,xname,yname,gname)
aoctool(x,y,group,alpha,xname,yname,gname,displayopt)
aoctool(x,y,group,alpha,xname,yname,gname,displayopt,model)
h = aoctool(...)
[h,atab,ctab] = aoctool(...)
[h,atab,ctab,stats] = aoctool(...)

説明

aoctool(x,y,group) は、配列 group の値で定義されるグループごとに、列ベクトル x および y に別々のラインを当てはめます。group は、カテゴリカル変数、数値ベクトル、文字配列、string 配列、または文字ベクトルの cell 配列です。このタイプのモデルは、1 因子共分散分析 (ANOCOVA) モデルと呼ばれます。出力は、次の 3 つの図で構成されます。

  • データ曲線と予測曲線の対話形式のグラフ

  • ANOVA 表

  • パラメーター推定値の表

これらの出力によって、モデルを変更したり、モデルの各部をテストできます。関数 aoctool を対話形式で使用する方法の詳細については、共分散分析ツールを参照してください。

aoctool(x,y,group,alpha) は、予測区間の信頼水準を決定します。信頼水準は 100(1-alpha)% です。alpha の既定値は 0.05 です。

aoctool(x,y,group,alpha,xname,yname,gname) は、グラフと表内の xy、および g のそれぞれの変数に対して使用する名前を指定します。引数 xyg について単純変数名を入力した場合、関数 aoctool はこれらの名前を使用します。3 つの引数の 1 つについて式を入力すると、これらの引数の指定によって、その式の代わりに使う名前を指定できます。たとえば、引数 x として m(:,2) を入力した場合、引数 xname として 'Col 2' を入力できます。

aoctool(x,y,group,alpha,xname,yname,gname,displayopt) は、displayopt'on' (既定値) の場合は表示、displayopt'off' の場合は非表示になるグラフと表の表示を有効にします。

aoctool(x,y,group,alpha,xname,yname,gname,displayopt,model) は、当てはめる初期モデルを指定します。model の値は以下のいずれかです。

  • 'same mean' — グループ化を無視して、1 つの平均を与えます。

  • 'separate means' — 各グループに別々の平均を与えます。

  • 'same line' — グループ化を無視して、1 つのラインを与えます。

  • 'parallel lines' — グループにそれぞれラインを当てはめますが、ラインは平行とします。

  • 'separate lines' — グループにそれぞれラインを当てはめます。ラインの制約はありません。

h = aoctool(...) は、プロットのライン オブジェクトに対するハンドルのベクトルを返します。

[h,atab,ctab] = aoctool(...) は、ANOVA 表 (atab) と係数の推定値の表 (ctab) の要素を含む cell 配列を返します ([編集] メニューの [テキストのコピー] 項目を使用して、テキスト形式の各表をクリップボードにコピーできます)。

[h,atab,ctab,stats] = aoctool(...) は、補足の多重比較検定を実行するために使用できる stats 構造体を返します。ANOVA 表は、すべての傾きまたは切片が同じであるという仮説を、これらは必ずしも同じではないという一般的な対立仮説に対して検定した結果を出力します。値のどのペアに有意差があり、どのペアに有意差がないかを確認する検定を実行した方が良い場合もあります。関数 multcompare を使用して、stats 構造体を入力として指定することによって検定などを実行できます。傾き、切片、母集団の周辺平均 (平均 x 値における曲線の高さ) のいずれかを評価できます。

以下の例では、各種モデルを対話形式によらずに当てはめる方法を示します。自動車のより小さなデータ セットを読み込み、個別の傾きのモデルを当てはめ、係数推定値を調べてみます。

load carsmall
[h,a,c,s] = aoctool(Weight,MPG,Model_Year,0.05,...
                    '','','','off','separate lines');
c(:,1:2)
ans = 
  'Term'       'Estimate'
  'Intercept'  [45.97983716833132]
  ' 70'        [-8.58050531454973]
  ' 76'        [-3.89017396094922]
  ' 82'        [12.47067927549897]
  'Slope'      [-0.00780212907455]
  ' 70'        [ 0.00195840368824]
  ' 76'        [ 0.00113831038418]
  ' 82'        [-0.00309671407243]

簡潔に言えば、MPGWeight を関連づけるラインは 45.98 に近い切片をもち、-0.0078 に近い傾きをもちます。各グループの係数は、これらの値からのオフセットに近い値になります。たとえば、1970 年に製造された自動車のラインの切片は 45.98-8.58 = 37.40 です。

次に、平行なラインを使って当てはめてみます。(ANOVA 表では、平行ラインによる近似は異なるラインによる近似に比べ、精度がかなり低下することを示しています)。

[h,a,c,s] = aoctool(Weight,MPG,Model_Year,0.05,...
                    '','','','off','parallel lines');

c(:,1:2)

ans = 

  'Term'       'Estimate'
  'Intercept'  [43.38984085130596]
  ' 70'        [-3.27948192983761]
  ' 76'        [-1.35036234809006]
  ' 82'        [ 4.62984427792768]
  'Slope'      [-0.00664751826198]

ここでも、グループごとに別々の切片が得られました。ただし、傾きは同じでなければならないという制約があります。

バージョン履歴

R2006a より前に導入