私はRの初心者ですが、Rの次の関数に関連する3つのパラメーターA、B、Cを決定する方法を探しています。
y = A * (x1^B) * (x2^C)
誰かが私にそのようなフィッティングを達成するのに役立つRメソッドについてのヒントを教えてもらえますか?
私はRの初心者ですが、Rの次の関数に関連する3つのパラメーターA、B、Cを決定する方法を探しています。
y = A * (x1^B) * (x2^C)
誰かが私にそのようなフィッティングを達成するのに役立つRメソッドについてのヒントを教えてもらえますか?
1つのオプションは、nls
@SvenHohensteinが提案した関数です。もう1つのオプションは、非線形回帰を線形回帰に変換することです。この方程式の場合、方程式の両辺の対数を取り、少し代数を実行すると、線形方程式が得られます。次のようなものを使用して回帰を実行できます。
fit <- lm( log(y) ~ log(x1) + log(x2), data=mydata)
切片は値を取得するlog(A)
ために使用されるためexp
、BおよびCパラメーターは2つの勾配になります。
ここでの大きな違いはnls
、元の方程式に正規誤差が追加されたモデルにlm
適合し、ログとの適合では、元のモデルの誤差が対数正規分布からのものであり、モデルに追加されるのではなく乗算されることを前提としていることです。多くのデータセットは、2つの方法で同様の結果をもたらします。
関数を使用して非線形最小二乗モデルを近似できますnls
。
nls(y ~ A * (x1^B) * (x2^C))
SVM(サポートベクターマシン)回帰を使用してみませんか?e1071
SVMで回帰を処理できるという名前のCRANのパッケージがあります。
このチュートリアルを確認できます:http ://www.svm-tutorial.com/2014/10/support-vector-regression-r/
お役に立てば幸いです