Cesar,

Preciso solucionar essa equação f(x) = (alpha/beta1*exp(-x/beta1)) + ((1-alpha)/beta2*exp(-x/beta2)) para obter os paramentos da distribuição. Assim como solucionado pelo fitdistr do pacote MASS para as ditribuções gamma, webull e exponencial. Observe que fiz uma tentativa com o pacote Renext, mas sem sucesso.

Muito obrigado.

2016-09-19 16:12 GMT-03:00 Alisson Lucrécio <alisson.lucrecio@ifgoiano.edu.br>:
Como solucionar essa equação f(x) = (alpha/beta1*exp(-x/beta1)) + ((1-alpha)/beta2*exp(-x/beta2)) para obter os paramentos da distribuição. Assim como é feito pelo fitdistr do pacote MASS para as ditribuções gamma, webull e exponencial. Observe que fiz uma tentativa com o pacote Renext, mas sem sucesso.

Muito obrigado.


On 19 September 2016 at 16:05, Cesar Rabak <cesar.rabak@gmail.com> wrote:
. . . e sua dúvida seria?

On Mon, Sep 19, 2016 at 10:54 AM, Alisson Lucrécio via R-br <r-br@listas.c3sl.ufpr.br> wrote:
Caro Colegas,

Bom dia.

Algum colega da poderia me ajudar na solução de uma distribução exponencial mista.

# Script

library(MASS)

# Distribuição Gamma

rg <- rgamma(100, shape = 1.5, rate = 1)

fit_gamma <- fitdistr(rg,"gamma")

par(bg="white", las=1, cex=1.1)
plot(density(rg, bw=0.5, cut=0), las=1, lwd=2,
     xlim=c(0,5),col="steelblue")

# Distribuição Weibull

rw <- rweibull(100, scale=1, shape=1.5)

par(bg="white", las=1, cex=1.1)
plot(density(rw, bw=0.5, cut=0), las=1, lwd=2,
     xlim=c(0,5),col="steelblue")

fit_weibull <- fitdistr(rw,"weibull")

# Distribuição Exponential

ex <- rexp(100, rate = 1)

par(bg="white", las=1, cex=1.1)
plot(density(ex, bw=0.5, cut=0), las=1, lwd=2,
     xlim=c(0,5),col="steelblue")

fit_exp <- fitdistr(ex, "exponential")

plot(density(rw, bw=0.5, cut=0), las=1, lwd=2,
     xlim=c(0,5),col="steelblue")
lines(density(rg, bw=0.5, cut=0),col="green")
lines(density(ex, bw=0.5, cut=0),col="red")

# Distribuição Exponencial mista

library(Renext)

# f(x) = (alpha/beta1*exp(-x/beta1)) + ((1-alpha)/beta2*exp(-x/beta2))

mixexp <- rmixexp2(n = 100, prob1 = 0.5, rate1 = 1.0, rate2 = 3.0)

fit_mixexp <- mom.mixexp2(mixexp)

plot(density(mixexp, bw=0.5, cut=1), lwd=2,
     xlim=c(0, 5),col="steelblue")
lines(density(ex, bw=0.5, cut=0),col="red")

mod <- nls(mixexp ~ prob1 * dexp(x, rate1) + (1 - prob1) * dexp(x, rate2),
           start = list(prob1 = 1, rate1 = 1, rate2 = 3.0), control = nls.control(maxiter = 100))

Obrigado.
--
Alisson Lucrecio da Costa

_______________________________________________
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.




--
Alisson Lucrecio da Costa



--
Alisson Lucrecio da Costa