私はヒープ法の定数を推定しようとしています。`nls`は私のモデルのパラメータを見積もることができません
# Function for Heaps law
heaps <- function(K, n, B){
K*n^B
}
heaps(2,117795,.7) #Just to test it works
のでn = Word Occurrences
、およびK
とB
は、個別の私の予測を見つけるために定数でなければなりません値は以下のとおりです。私は次の機能を構築次に
Number of novels DistinctWords WordOccurrences
1 1 13575 117795
2 1 34224 947652
3 1 40353 1146953
4 1 55392 1661664
5 1 60656 1968274
: 私は、次のデータセットnovels_colection
を持っています言葉
私はこれを試してみましたが、それは私にエラーを与える:
fitHeaps <- nls(DistinctWords ~ heaps(K,WordOccurrences,B),
data = novels_collection[,2:3],
start = list(K = .1, B = .1), trace = T)
エラー= Error in numericDeriv(form[[3L]], names(ind), env) : Missing value or an infinity produced when evaluating the model
任意のアイデアを、私はこのまたは関数をフィットし、K
の値を取得する方法を修正することができる方法でとB
?
あなたは何を意味するのですか?どのようなログを変換する必要がありますか?とKのために、私はそれが正でなければならないと思うが、私は確信していない –
...それは線形モデルで解くことができるので、非線形モデルの必要はありません。 :) –