O `nls` falha ao estimar os parâmetros do meu modelo
Eu estou tentando estimar as constantes para a lei Heaps. Eu tenho o seguinte conjunto de dadosnovels_colection
:
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
Então eu construo a próxima função:
# Function for Heaps law
heaps <- function(K, n, B){
K*n^B
}
heaps(2,117795,.7) #Just to test it works
assimn = Word Occurrences
eK
eB
são valores que devem ser constantes para encontrar minha previsão de palavras distintas.
Eu tentei isso, mas isso me dá um erro:
fitHeaps <- nls(DistinctWords ~ heaps(K,WordOccurrences,B),
data = novels_collection[,2:3],
start = list(K = .1, B = .1), trace = T)
Erro =Error in numericDeriv(form[[3L]], names(ind), env) : Missing value or an infinity produced when evaluating the model
Alguma idéia de como eu poderia corrigir esse ou um método para ajustar a função e obter os valores paraK
eB
?