2017-01-05 132 views
0

私はデータをプロットし、モデルにいくつかの初期パラメータを追加すると、最初のゼロ次の運動曲線をいくつかのデータに合わせようとしています。実行して、NLSが、私はエラーを取得する:nls特異な勾配行列の最初のパラメータ推定値

Error in nlsModel(formula, mf, start, wts) : 
    singular gradient matrix at initial parameter estimates 

ノー成功してパラメータをいじってきたので、私はモデルに基づいていくつかのデータをシミュレートし、私はまだ同じエラーを取得します。間違っているかもしれないものを任意の提案は:

t <- 1:50 
CrStart <- 850 
CsStart <- 1100 
KrStart <- 0.27 
KsStart <- 0.0065 
y3 <- runif(1,825,875)*(1 - exp(-runif(1,0.25,0.3)*t)) + runif(1,1050,1150)*runif(1,0.00625,0.00675)*t+runif(50,0,100) 

plot(t,y3) 

m <- nls (y3~Cr*(1 - exp(-Kr*t)) + Cs*Ks*t, start=list(Cr=CrStart,Cs=CsStart,Kr=KrStart,Ks=KsStart)) 

答えて

2

あなたの問題は、パラメータCsKsが混乱しているということです。モデル内にパラメータが多すぎます。モデルに適合するCsKsの組み合わせは無数にあります。

解決策はCs*KsKに変更し、代わりにKを解決することです。その後、K = Cs*Ks

+0

ありがとうございます!あなたの答えは、私たちが使用している方程式とパラメータの意味についてもっと多くのことを考えさせました。 – chris20

関連する問題