Vba で linest 関数を使用する方法 (例付き)
VBA でLinEstメソッドを使用すると、線形回帰モデルを近似できます。
この関数は次の基本構文を使用します。
LinEst(Arg1, Arg2, Arg3, Arg4)
金:
- Arg1 : y 値のセット
- Arg2 : 値 x のセット
- Arg3 (オプション) : TRUE = 通常どおりインターセプトを計算します、FALSE = インターセプトを強制的にゼロにします
- Arg4 (オプション) : TRUE = 追加の回帰統計を計算する、FALSE = 係数のみを計算する
次の例は、 LinEstメソッドを使用して VBA で回帰モデルを実際に近似する方法を示しています。
例: VBA で LinEst 関数を使用する方法
予測変数 (x) と応答変数 (y) を含む次のデータセットがあるとします。
LinEstメソッドを使用して単純な線形回帰モデルをこのデータセットに適合させる次のマクロを作成できます。
Sub UseLinEst() Range(" D1:E1 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 ")) End Sub
このマクロを実行すると、次の出力が表示されます。
結果の値は回帰モデルの係数を表します。
- β 0の係数は3.52169です。
- β1の係数は0.693717です。
これらの値を使用すると、この単純な回帰モデルの方程式を書くことができます。
y = 3.52169 + 0.693717(x)
これは、予測変数 x が 1 単位増加するたびに、応答変数 y の平均0.693717の増加が関連付けられることを意味すると解釈します。
元の用語は、 x がゼロの場合、 y の平均値は3.52169であることを意味すると解釈します。
LinEstメソッドを使用して追加の回帰統計を生成する場合は、次の構文を使用できます。
Sub UseLinEst() Range(" D1:E5 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 "), True, True) End Sub
このマクロを実行すると、次の出力が表示されます。
次のスクリーンショットは、結果の各値の説明を示しています。
LinEstメソッドの最後の引数にTrueを指定すると、いくつかの追加の回帰統計を計算できます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。