
Pessoas,como posso otimizar este cálculo? Com 365 o R nem faz o cálculo! Alguma sugestão? Obrigado! n=40np=factorial(365)/((365^n)*factorial(365-n))1-np André Oliveira Souza. Graduação em Matemática, mestrado em estatística aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espirito Santo. IFES

Eu faria esta conta na mão. Espero que minha notação esteja clara. Considere log(x) como o logaritmo natural de x. Como n! = n*(n-1)*...*3*2*1, log(n!) = log(n) + log(n-1) + ... + log(2) + log(1) Assim, log(factorial(365)) = sum(log(365:1)) Além disso, log(365^n) = n*log(365) log(factorial(365-n)) = sum(log((365-n):1)) Portanto, o logaritmo da expressão original torna-se sum(log(365:1)) - n*log(365) - sum(log((365-n):1)) e o valor procurado é exp( sum(log(365:1)) - n*log(365) - sum(log((365-n):1)) ) = 0.1087682 2014-11-05 23:00 GMT-02:00 Andre Oliveira <andreolsouza@yahoo.com.br>:
Pessoas, como posso otimizar este cálculo? Com 365 o R nem faz o cálculo! Alguma sugestão?
Obrigado!
n=40 np=factorial(365)/((365^n)*factorial(365-n)) 1-np
André Oliveira Souza. Graduação em Matemática, mestrado em estatística aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espirito Santo. IFES
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Marcus Nunes http://marcusnunes.me/

Pode usar a fórmula de Stirling para aproximar um fatorial, n grande. Atenciosamente, Prof. Clécio da Silva Ferreira Depto de Estatística - UFJF Tel: (32) 2102-3306 Página: www.ufjf.br/clecio_ferreira Em 5 de novembro de 2014 23:27, Marcus Nunes <marcus.nunes@gmail.com> escreveu:
Eu faria esta conta na mão. Espero que minha notação esteja clara. Considere log(x) como o logaritmo natural de x.
Como n! = n*(n-1)*...*3*2*1, log(n!) = log(n) + log(n-1) + ... + log(2) + log(1)
Assim, log(factorial(365)) = sum(log(365:1))
Além disso, log(365^n) = n*log(365)
log(factorial(365-n)) = sum(log((365-n):1))
Portanto, o logaritmo da expressão original torna-se
sum(log(365:1)) - n*log(365) - sum(log((365-n):1))
e o valor procurado é
exp( sum(log(365:1)) - n*log(365) - sum(log((365-n):1)) ) = 0.1087682
2014-11-05 23:00 GMT-02:00 Andre Oliveira <andreolsouza@yahoo.com.br>:
Pessoas, como posso otimizar este cálculo? Com 365 o R nem faz o cálculo! Alguma sugestão?
Obrigado!
n=40 np=factorial(365)/((365^n)*factorial(365-n)) 1-np
André Oliveira Souza. Graduação em Matemática, mestrado em estatística aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espirito Santo. IFES
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Marcus Nunes http://marcusnunes.me/
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

use escala log. (lembra porque maximizamos log-verossimilhanca?) a = 365 n = 40 exp( lfactorial(a) - (n*log(a) + lfactorial(a-n)))

Acho interessante testar o código do Elias com um warnings() após a chamada dele. 2014-11-06 9:24 GMT-02:00 Elias T. Krainski <eliaskrainski@yahoo.com.br>:
use escala log. (lembra porque maximizamos log-verossimilhanca?)
a = 365 n = 40 exp( lfactorial(a) - (n*log(a) + lfactorial(a-n)))
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
participantes (5)
-
Andre Oliveira
-
Cesar Rabak
-
Clécio da Silva Ferreira
-
Elias T. Krainski
-
Marcus Nunes