[R-es] Ajuste con exponencial

Francisco Rodríguez fjroar en hotmail.com
Mie Ene 28 13:22:34 CET 2015


Hola Hector, buenos días:
Hay un método generalista para maximizar funciones en R que quizás te valga, prueba lo siguiente a ver qué tal (por supuesto, si te fijas en la definición de la función de verosimilitud, ves que la "he cuadrado a mano" al intervalo que tratas"
library(optimx)
muestra <- c(50, 20, 31, 40, 10)
funcionExpTrun <- function(l, x){    n <- length(x)    f <- rep(0, n)        for (i in 1:n)    {      f[i]<- -log(l*exp(-l*x[i])/(exp(-10*l)-exp(-60*l)))    }        sumaf <- sum(f)        return (sumaf)    }
resultado <- optim(par = c(0.1), fn = funcionExpTrun,                   method = c("L-BFGS-B"), lower = c(-Inf, 0), upper = c(Inf,                                                                         Inf), x = muestra)


El código lo he sacado (con alguna adaptación por mi parte) de:
http://www.mat.uda.cl/jolivares/probabilidades/EMV.pdf
El parámetro al que converge sería: 
$par[1] 0.02356897

Un saludo

From: hector3 en gmx.es
To: cgb en datanalytics.com; r-help-es en r-project.org
Date: Wed, 28 Jan 2015 12:27:56 +0100
Subject: Re: [R-es] Ajuste con exponencial


Saludos cordiales.

 

Lamentablemente lo que dice Carlos no es correcto. Cuando la distribución exponencial la truncamos en un intervalo la constante de la función de densidad (para que integre 1) tiene una dependencia (complicada) del parámetro que multiplica al exponente, con lo cual la ecuación de verosimilitud no es nada sencila ni se puede resolver exactamente . La estimación maximo-verosímil requeriría de algoritmos numéricos y por tanto de software para su cálculo. Yo creo que esta no debe ser la mejor solución, y me sorprende no haber encontrado (puede que por mi torpeza) nada para ello en el R. De aquí la pregunta que hacia en este foro.

 

Héctor Gómez

 

Enviar: martes 27 de enero de 2015 a las 22:07

De: "Carlos J. Gil Bellosta " <cgb en datanalytics.com>

Para: "Hector Gómez Fuerte" <hector3 en gmx.es>

CC: "Lista R" <r-help-es en r-project.org>

Asunto: Re: [R-es] Ajuste con exponencial

Hola, ¿qué tal?



Creo que el ajuste (por máxima verosimilitud) de lambda es el inverso

de la media de tus datos. Tu densidad en el intervalo de interés es

como la de la exponencial (dividida por una constante de

normalización). El logaritmo de la verosimitud es, por lo tanto, como

el de la exponencial sin truncar más una constante.



Luego la teoría habitual (de cómo el inverso de la media es el

estimador por MV de lambda) aplica con cambios mínimos.



Un saludo,



Carlos J. Gil Bellosta

http://www.datanalytics.com



El día 27 de enero de 2015, 19:53, "Hector Gómez Fuerte"

<hector3 en gmx.es> escribió:

> Buenas tardes,

> ¿cómo puedo con el R ajustar una distribución exponencial truancada (en el

> intervalo [10,60]) a un vector de datos?

> Muchas gracias.

> Héctor Gómez

>

> _______________________________________________

> R-help-es mailing list

> R-help-es en r-project.org

> https://stat.ethz.ch/mailman/listinfo/r-help-es

>





_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es 		 	   		  
	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es