[R-br] Distribuição exponencial mista

Alisson Lucrécio alisson.lucrecio em ifgoiano.edu.br
Terça Setembro 20 20:53:53 BRT 2016


Jaildo Rocha,

Muito obrigado por sua ajuda.

Alisson

2016-09-20 20:53 GMT-03:00 Alisson Lucrécio <
alisson.lucrecio em ifgoiano.edu.br>:

> Jaildo Rocha,
>
> Muito obrigado por sua ajuda.
>
> Alisson
>
> 2016-09-20 19:27 GMT-03:00 Jaildo Rocha <j.vieirarocha em gmail.com>:
>
>> 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 em 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.lucrecio em ifg
>> oiano.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 em 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 em 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 em 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
>> _______________________________________________
>> R-br mailing list
>> R-br em 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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160920/b7079bc0/attachment.html>


Mais detalhes sobre a lista de discussão R-br