次のようなデータセットに単純なべき乗則モデルを適合させようとしています。
mydf
:
rev weeks
17906.4 1
5303.72 2
2700.58 3
1696.77 4
947.53 5
362.03 6
目標は、電力線を通過させ、それを使用してrev
、今後数週間の値を予測することです。たくさんの研究の結果、私はこのnls
機能にたどり着きました。その機能を次のように実装しました。
newMod <- nls(rev ~ a*weeks^b, data=modeldf, start = list(a=1,b=1))
predict(newMod, newdata = data.frame(weeks=c(1,2,3,4,5,6,7,8,9,10)))
これはlm
モデルで機能しsingular gradient
ますが、エラーが発生します。これは、開始値a
とに関係していることを理解していますb
。私はさまざまな値を試しましたが、これをExcelでプロットし、1つを渡し、方程式を取得し、方程式の値を使用しましたが、それでもエラーが発生しました。私はこのような答えをたくさん見て、2番目の答えを試しました(最初の答えは理解できませんでした)が、結果はありませんでした。
ここで、適切な開始値を見つける方法について、いくつかのヘルプを実際に使用できます。または、nlsの代わりに使用できる他の関数。
mydf
簡単に再作成したい場合:
mydf <- data.frame(rev=c(17906.4, 5303.72, 2700.58 ,1696.77 ,947.53 ,362.03), weeks=c(1,2,3,4,5,6))