このデータをワイブル分布に当てはめようとしています:
私x
とy
変数は次のとおりです。
y <- c(1, 1, 1, 4, 7, 20, 7, 14, 19, 15, 18, 3, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1)
x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
プロットは次のようになります。
私はこのようなものを探しています: 適合プロット
それにワイブル曲線を当てはめたい。次のように R で nls 関数を使用しています。
nls(y ~ ((a/b) * ((x/b)^(a-1)) * exp(- (x/b)^a)))
この関数は常に次のエラーをスローします。
Error in numericDeriv(form[[3L]], names(ind), env) :
Missing value or an infinity produced when evaluating the model
In addition: Warning message:
In nls(y ~ ((a/b) * ((x/b)^(a - 1)) * exp(-(x/b)^a))) :
No starting values specified for some parameters.
Initializing ‘a’, ‘b’ to '1.'.
Consider specifying 'start' or using a selfStart model
そのため、最初にさまざまな開始値を試しましたが、成功しませんでした。開始値を「適切に」推測する方法がわかりません。次にSSweibull(x, Asym, Drop, lrc, pwr)
、selfStart関数である関数を使用しました。現在、SSWeibull 関数は Asym、Drop、lrc、および pwr の値を想定していますが、これらの値が何であるかについての手がかりはありません。
誰かが私が進む方法を理解するのを手伝ってくれれば幸いです。
データの背景: bugzilla からいくつかのデータを取得しました。"y" 変数は特定の月に報告されたバグの数で、"x" 変数はリリース後の月数です。