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 で他の一般的なタスクを実行する方法について説明します。

VBA: 値のリストを分類する方法
VBA: 範囲の標準偏差を計算する方法
VBA: 加重平均を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です