Main Content

coefTest

線形回帰モデルの係数に対する線形仮説検定

説明

p = coefTest(mdl) は、mdl 内の係数推定値が切片項を除いてすべてゼロであるかどうかに対する F 検定の p 値を計算します。

p = coefTest(mdl,H) は、H × B = 0 に対する F 検定を実行します。B は係数ベクトルを表します。H を使用して、F 検定に含める係数を指定します。

p = coefTest(mdl,H,C) は、H × B = C に対する F 検定を実行します。

[p,F] = coefTest(___) は、前の構文におけるいずれかの入力引数の組み合わせを使用して、F 検定統計量 F も返します。

[p,F,r] = coefTest(___) は、検定に対する分子の自由度 r も返します。

すべて折りたたむ

線形回帰モデルを当てはめ、当てはめたモデルの係数がゼロであるかどうかを検定します。

carsmall データ セットを読み込み、予測子 Model_Year がカテゴリカルである table を作成します。

load carsmall
Model_Year = categorical(Model_Year);
tbl = table(MPG,Weight,Model_Year);

重量、重量の二乗およびモデル年の関数として、燃費の線形回帰モデルを当てはめます。

mdl = fitlm(tbl,'MPG ~ Model_Year + Weight^2')
mdl = 
Linear regression model:
    MPG ~ 1 + Weight + Model_Year + Weight^2

Estimated Coefficients:
                      Estimate         SE         tStat       pValue  
                     __________    __________    _______    __________

    (Intercept)          54.206        4.7117     11.505    2.6648e-19
    Weight            -0.016404     0.0031249    -5.2493    1.0283e-06
    Model_Year_76        2.0887       0.71491     2.9215     0.0044137
    Model_Year_82        8.1864       0.81531     10.041    2.6364e-16
    Weight^2         1.5573e-06    4.9454e-07      3.149     0.0022303


Number of observations: 94, Error degrees of freedom: 89
Root Mean Squared Error: 2.78
R-squared: 0.885,  Adjusted R-Squared: 0.88
F-statistic vs. constant model: 172, p-value = 5.52e-41

モデル表示の最後の行には、回帰モデルの F 統計量の値および対応する p 値が示されています。p 値が小さいので、このモデルの方が切片項のみから構成される縮退したモデルより有意に優れていることがわかります。この 2 つの値は、coefTest を使用して取得できます。

[p,F] = coefTest(mdl)
p = 5.5208e-41
F = 171.8844

線形回帰モデルを当てはめ、coefTest を使用して、当てはめたモデルにおける指定した係数の有意性を検定します。anova を使用すると、モデル内の各予測子の有意性を検定することもできます。

carsmall データ セットを読み込み、予測子 Model_Year がカテゴリカルである table を作成します。

load carsmall
Model_Year = categorical(Model_Year);
tbl = table(MPG,Acceleration,Weight,Model_Year);

重量、重量の二乗およびモデル年の関数として、燃費の線形回帰モデルを当てはめます。

mdl = fitlm(tbl,'MPG ~ Acceleration + Model_Year + Weight')
mdl = 
Linear regression model:
    MPG ~ 1 + Acceleration + Weight + Model_Year

Estimated Coefficients:
                      Estimate         SE         tStat        pValue  
                     __________    __________    ________    __________

    (Intercept)          40.523        2.5293      16.021    5.8302e-28
    Acceleration      -0.023438       0.11353    -0.20644       0.83692
    Weight           -0.0066799    0.00045796     -14.586    2.5314e-25
    Model_Year_76        1.9898       0.80696      2.4657      0.015591
    Model_Year_82        7.9661       0.89745      8.8763    6.7725e-14


Number of observations: 94, Error degrees of freedom: 89
Root Mean Squared Error: 2.93
R-squared: 0.873,  Adjusted R-Squared: 0.867
F-statistic vs. constant model: 153, p-value = 5.86e-39

モデル表示には、対応する係数がゼロであるという帰無仮説を検定するための、各係数の t 統計量に対する p 値が含まれています。

係数の有意性は、coefTest を使用して調べることができます。たとえば、係数 Acceleration の有意性を検定します。モデル表示によると、Acceleration は 2 番目の予測子です。数値インデックス ベクトルを使用して、係数を指定します。

[p_Acceleration,F_Acceleration,r_Acceleration] = coefTest(mdl,[0 1 0 0 0])
p_Acceleration = 0.8369
F_Acceleration = 0.0426
r_Acceleration = 1

p_AccelerationF 統計量の値 F_Acceleration に対応する p 値、r_AccelerationF 検定の分子の自由度です。返された p 値は、当てはめたモデルでは Acceleration が統計的に有意ではないことを示します。p_Acceleration はモデル表示の t 統計量 (tStat) の p 値に等しく、F_AccelerationtStat の 2 乗であることに注意してください。

カテゴリカル予測子 Model_Year の有意性を検定します。Model_Year_76Model_Year_82 を個別に検定する代わりに、カテゴリカル予測子 Model_Year に対して単一の検定を実行できます。数値インデックス行列を使用して、Model_Year_76Model_Year_82 を指定します。

[p_Model_Year,F_Model_Year,r_Model_Year] = coefTest(mdl,[0 0 0 1 0; 0 0 0 0 1])
p_Model_Year = 2.7408e-14
F_Model_Year = 45.2691
r_Model_Year = 2

返された p 値は、当てはめたモデルでは Model_Year が統計的に有意であることを示します。

これらの値は、anovaを使用して取得することもできます。

anova(mdl)
ans=4×5 table
                     SumSq     DF    MeanSq        F          pValue  
                    _______    __    _______    ________    __________

    Acceleration    0.36613     1    0.36613    0.042618       0.83692
    Weight           1827.7     1     1827.7      212.75    2.5314e-25
    Model_Year       777.81     2      388.9      45.269    2.7408e-14
    Error            764.59    89      8.591                          

入力引数

すべて折りたたむ

線形回帰モデル オブジェクト。fitlm または stepwiselm を使用して作成した LinearModel オブジェクト、または compact を使用して作成した CompactLinearModel オブジェクトとして指定します。

仮説行列。r 行 s 列のフルランク数値インデックス行列として指定します。ここで、r は検定する係数の線形結合の個数、s は係数の総数です。

  • H を指定した場合、出力 pH × B = 0 に対する F 検定の p 値です。B は係数ベクトルを表します。

  • HC を指定した場合、出力 pH × B = C に対する F 検定の p 値です。

例: [1 0 0 0 0] は、5 つの係数のうち 1 番目の係数を検定します。

データ型: single | double

帰無仮説を検定するための仮定値。H と同じ行数の数値ベクトルを指定します。

HC を指定した場合、出力 pH × B = C に対する F 検定の p 値です。B は係数ベクトルを表します。

データ型: single | double

出力引数

すべて折りたたむ

F 検定の p 値。範囲 [0,1] の数値として返されます。

F 検定の検定統計量の値。数値として返されます。

F 検定の分子の自由度。正の整数として返されます。F 統計量では、分子の自由度が r、分母の自由度が mdl.DFE です。

アルゴリズム

p 値、F 統計量、および分子の自由度は、次の仮定の下で有効です。

  • データは、当てはめたモデルの Formula プロパティの式によって表されるモデルから派生する。

  • 観測値は独立しており、予測子の値の影響を受ける。

これらの仮定のもとで、β が線形回帰の (未知の) 係数ベクトルを表すとします。H は r 行 s 列のフルランク数値インデックス行列であるとします。ここで、r は検定する係数の線形結合の個数、s は係数の総数です。c は r 行の列ベクトルとします。Hβ = c という仮説に対する検定統計量は次のようになります。

F=(Hβ^c)(HVH)1(Hβ^c)/r.

ここで、β^ は係数ベクトル β の推定値 (Coefficients プロパティに格納されます)、V は係数推定値の推定共分散 (CoefficientCovariance プロパティに格納されます) です。仮説が真である場合、検定統計量 F は自由度 r および u をもつF 分布に従います。u は誤差の自由度であり、DFE プロパティに格納されます。

代替機能

  • よく使用される検定統計量の値は、当てはめたモデルの Coefficients プロパティで利用可能です。

  • anova は、各モデルの予測子および予測子のグループに対する検定を提供します。

拡張機能

バージョン履歴

R2012a で導入