Prezado Alisson,

Para realizar as estimativas dos parâmetros via o package “Renext” utilize a 
função “EM.mixexp”. Apesar disso, é importante notar dois detalhes desta 
distribuição;

O primeiro é o caso do coeficiente de variação maior ou igual a um que tende a 
gerar “erros” (convergir para uma exponencial simples) quando a amostra 
apresenta tal coeficiente menor que um. 

Um segundo detalhe é que as estimativas dos parâmetros,no que diz respeito a 
convergência em relação a amostra, é bem mais “lenta” com o crescimento da 
amostra do que distribuições usuals como a gama, weibull, gumbel e outras  (o 
segundo detalhe é apenas um feeling particular).

Caso não queira usar  o “Renext”, outra possibilidade é utilizar o pacote 
“fitdistplus” para a realização das estimativas dos parâmetros, o único 
inconveniente é a necessidade de inserir um valor inicial.Por fim, segue os 
exemplos de estimativas utilizando os dois pacotes diferentes.


#####

# Via Renext

library("Renext")
mix <- rmixexp2(n = 1000, prob1 = 0.5, rate1 = 1.0, rate2 = 3.0)
fit_mixexp <- EM.mixexp(x = mix)

# Parâmetros
fit_mixexp[[1]]


# Via fitdistrplus

library("Renext")
library("fitdistrplus")

fit_mixexp2 <- fitdist(mix, "mixexp2", start = list(prob1 = 0.8,rate1 = 1, 
rate2 = 2))
fit_mixexp2[[1]]


####

Obs: No segundo exemplo, apesar de implícito, utilizei as funções pmixexp2, 
dmixexp2, qmixexp2 do pacote  “Renext” mas caso seja de sua preferência é 
possível você mesmo defini-las.  

Att,
-------
Jaildo Rocha 
MSc. pelo Programa Pós Graduação em Saneamento Meio Ambiente e Recursos  
Hídricos –  UFMG
Área de concentração: Recursos Hídricos     


> Em 20 de set de 2016, à(s) 00:21, Alisson Lucrécio via R-br 
> <r-br@listas.c3sl.ufpr.br> escreveu:
> 
> 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.lucre...@ifgoiano.edu.br 
> <mailto:alisson.lucre...@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.ra...@gmail.com 
> <mailto:cesar.ra...@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 <mailto: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 <mailto:R-br@listas.c3sl.ufpr.br>
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-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 
> <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
> _______________________________________________
> R-br mailing list
> R-br@listas.c3sl.ufpr.br <mailto:R-br@listas.c3sl.ufpr.br>
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-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 
> <http://www.leg.ufpr.br/r-br-guia>) e forneça código mínimo reproduzível.

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

Responder a