F 統計量と t 統計量
F 統計量
目的
線形回帰における F 統計量は、分散分析 (ANOVA) 手法に使用する検定統計量です。これにより、モデルまたはモデルの成分の有意性を検定できます。
定義
線形モデル出力表示の F 統計量は、モデルの統計的有意性の検定に使用する統計量です。同じ統計量がモデル プロパティ ModelFitVsNullModel
に格納されます。
anova
で表示される F 統計量の値から、モデルの項または成分の有意性を評価できます。
使用方法
fitlm
または stepwiselm
を使用して、回帰モデル (mdl
) を当てはめます。その後、次が可能です。
出力表示を確認するか、次の方法を使用して、
F-statistic vs. constant model
を特定する。disp(mdl)
次のように入力して、モデルの F 統計量を表示する。
mdl.ModelFitVsNullModel
次の方法を使用して、モデルの ANOVA を表示する。
anova(mdl,'summary')
次の方法を使用して、定数項を除く成分の F 統計量の値を求める。
詳細は、anova(mdl)
LinearModel
クラスのanova
メソッドを参照してください。
F 統計値を使用したモデルの近似の評価
この例では、F 統計量を使用してモデルの当てはめと回帰係数の有意性を評価する方法を示します。
標本データを読み込みます。
load hospital tbl = table(hospital.Age,hospital.Weight,hospital.Smoker,hospital.BloodPressure(:,1), ... 'VariableNames',{'Age','Weight','Smoker','BloodPressure'}); tbl.Smoker = categorical(tbl.Smoker);
線形回帰モデルを当てはめます。
mdl = fitlm(tbl,'BloodPressure ~ Age*Weight + Smoker + Weight^2')
mdl = Linear regression model: BloodPressure ~ 1 + Smoker + Age*Weight + Weight^2 Estimated Coefficients: Estimate SE tStat pValue __________ _________ ________ __________ (Intercept) 168.02 27.694 6.067 2.7149e-08 Age 0.079569 0.39861 0.19962 0.84221 Weight -0.69041 0.3435 -2.0099 0.047305 Smoker_true 9.8027 1.0256 9.5584 1.5969e-15 Age:Weight 0.00021796 0.0025258 0.086294 0.93142 Weight^2 0.0021877 0.0011037 1.9822 0.050375 Number of observations: 100, Error degrees of freedom: 94 Root Mean Squared Error: 4.73 R-squared: 0.528, Adjusted R-Squared: 0.503 F-statistic vs. constant model: 21, p-value = 4.81e-14
定数モデルに対する線形近似の F 統計量は 21 で、p 値は 4.81e-14 です。このモデルは有意水準 5% で有意です。決定係数の値は 0.528 で、これはモデルが応答の変化量の約 53% を説明していることを示します。現在のモデルには含まれていない別の予測子 (説明) 変数が存在する可能性があります。
モデルの F 統計量にプログラムでアクセスすることもできます。
mdl.ModelFitVsNullModel
ans = struct with fields:
Fstat: 21.0120
Pvalue: 4.8099e-14
NullModel: 'constant'
近似モデルの ANOVA 表を表示します。
anova(mdl,'summary')
ans=5×5 table
SumSq DF MeanSq F pValue
______ __ ______ ______ __________
Total 4461.2 99 45.062
Model 2354.5 5 470.9 21.012 4.8099e-14
. Linear 2263.3 3 754.42 33.663 7.2417e-15
. Nonlinear 91.248 2 45.624 2.0358 0.1363
Residual 2106.6 94 22.411
この表示では、モデルの変化量が線形項と非線形項に分けられます。非線形項は 2 つあるため (Weight^2
と、Weight
と Age
の間の交互作用)、DF
列の非線形自由度は 2 です。モデルには 3 つの線形項 (1 つの Smoker
指標変数、Weight
、Age
) があります。F
列で該当する F 統計量は、線形項と非線形項の有意性をそれぞれ別のグループとして検定するために使用します。
繰り返しの観測値がある場合、残差項も 2 つの部分に分けられます。1 つは不適合による誤差、もう 1 つはモデルとは関係がない純粋な誤差で、繰り返しの観測値から得られます。このような場合の F 統計量は、不適合の検定、つまり近似が適切であるかどうかに関するものになります。しかし、この例では繰り返しの観測値はありません。
モデル項の ANOVA 表を表示します。
anova(mdl)
ans=6×5 table
SumSq DF MeanSq F pValue
________ __ ________ _________ __________
Age 62.991 1 62.991 2.8107 0.096959
Weight 0.064104 1 0.064104 0.0028604 0.95746
Smoker 2047.5 1 2047.5 91.363 1.5969e-15
Age:Weight 0.16689 1 0.16689 0.0074466 0.93142
Weight^2 88.057 1 88.057 3.9292 0.050375
Error 2106.6 94 22.411
この表示では、ANOVA 表がモデル項ごとに分けられています。F
列の対応する F 統計量は、各項の統計的有意性を評価します。たとえば、Smoker
の F 検定では、Smoker
の指標変数の係数が 0 と異なるかどうかを検定します。つまり、F 検定では、喫煙者であることにより BloodPressure
に有意な影響が生じるかどうかを判別します。各モデル項の自由度は、対応する F 検定の分子の自由度です。すべての項で自由度は 1 です。カテゴリカル変数の場合、自由度は指標変数の個数です。Smoker
の指標変数は 1 つだけなので、自由度も 1 です。
t 統計量
目的
線形回帰では、回帰係数に関する推定を行う場合に t 統計が便利です。係数 i の仮説検定では、この係数が 0 ではないという対立仮説に対して、この係数が 0 である (対応する項が有意でない) という帰無仮説を検定します。
定義
係数 i の仮説検定には、次の各仮説を使用します。
H0 : βi = 0
H1 : βi ≠ 0,
t 統計値は次のようになります。
ここで、SE(bi) は推定係数 bi の標準誤差です。
使用方法
近似モデル (mdl
など) を取得した後、fitlm
または stepwiselm
を使用して、次のことを実行できます。
出力表示で、係数の推定値、推定値の標準誤差 (
SE
)、対応する係数の仮説検定の t 統計値 (tStat
) を特定します。次の方法で表示を呼び出します。
display(mdl)
t 統計量を使用した回帰係数の有意性の評価
この例では、t 統計量を使用して回帰係数の有意性を検定する方法を示します。
標本データを読み込んで線形回帰モデルを当てはめます。
load hald
mdl = fitlm(ingredients,heat)
mdl = Linear regression model: y ~ 1 + x1 + x2 + x3 + x4 Estimated Coefficients: Estimate SE tStat pValue ________ _______ ________ ________ (Intercept) 62.405 70.071 0.8906 0.39913 x1 1.5511 0.74477 2.0827 0.070822 x2 0.51017 0.72379 0.70486 0.5009 x3 0.10191 0.75471 0.13503 0.89592 x4 -0.14406 0.70905 -0.20317 0.84407 Number of observations: 13, Error degrees of freedom: 8 Root Mean Squared Error: 2.45 R-squared: 0.982, Adjusted R-Squared: 0.974 F-statistic vs. constant model: 111, p-value = 4.76e-07
各係数について tStat = Estimate/SE
が成立していることがわかります。仮説検定の 値は pValue
列にあります。各 統計量は、モデルに他の項が与えられたときの各項の有意性を検定します。これらの結果によると、どの係数も有意水準 5% で有意でないようです。一方でモデルの決定係数の値は 0.97 と非常に高くなっています。このような場合、予測子変数の間で多重共線性が発生している可能性が高くなっています。
ステップワイズ回帰を使用して、モデルで使用する変数を決定します。
load hald
mdl = stepwiselm(ingredients,heat)
1. Adding x4, FStat = 22.7985, pValue = 0.000576232 2. Adding x1, FStat = 108.2239, pValue = 1.105281e-06
mdl = Linear regression model: y ~ 1 + x1 + x4 Estimated Coefficients: Estimate SE tStat pValue ________ ________ _______ __________ (Intercept) 103.1 2.124 48.54 3.3243e-13 x1 1.44 0.13842 10.403 1.1053e-06 x4 -0.61395 0.048645 -12.621 1.8149e-07 Number of observations: 13, Error degrees of freedom: 10 Root Mean Squared Error: 2.73 R-squared: 0.972, Adjusted R-Squared: 0.967 F-statistic vs. constant model: 177, p-value = 1.58e-08
この例では、stepwiselm
はまず定数モデル (既定) から処理を開始し、前方選択により x4
と x1
を順次追加していきます。最終モデルの各予測子変数は、もう一方がモデルで使用されていれば有意です。アルゴリズムが停止するのは、他の予測子変数を追加しない方がモデルで大幅な改善が見られる場合です。ステップワイズ回帰の詳細は、stepwiselm
の項を参照してください。
参考
LinearModel
| fitlm
| stepwiselm
| anova
| coefCI
| coefTest