
Hola,

LLevo buscando desde hace tiempo como hacer el Goodness of fit test en R. Es decir, me explico, intento hacer una cosa parecida que se hace en Minitab, por ejemplo, yo tengo un conjunto de datos, y  lo que quiero es sabes que tipo de distibución es, en minitab se hace un histograma para ver si se ajusta bien o no a la campana de Gauss, luego vemos si aproximar la distribución de la muestra por una Normal es lícito. Es decir, minitab genera un Probability Plot of Adjusted Value y devuelve el Anderson Darling y el P-Value, al hacer esto se observa que el p-value del contraste de hipótesis utilizado es menor que el nivel de significación estandar(0,05), luego no podemos aceptar que la hipótesis  nula de que la muestra provenga de una distribución normal.

Es entonces cuando en minitab se le aplica el "Goodness of Fit Test", y se observe que distribución se ajusta mejor a la muestra obtenida. Entonces se le aplica el Process capability según la distribución y se analizan los resultados.

Mi duda es, ¿exite alguna función-libreria-paquete, que al pasarle la muestra, te diga que tipo de distribución es?.

He probado hacer varias cosas, aunque no me termina de convencer la manera de hacerla, ni los datos obtenidos.

1 - Una es con la libreria "nortest", que la encontre en un documento que se llama "FITTING DISTRIBUTIONS WITH R"  Ricci, en ella viene una función que se llama "ad.test()", donde al pasarle la muestra te devuelve un AD(anderson darling) y p-value de la  distribución, entonces comparo el p-value con la normal, y si cuadra, pues teoricamente deberia de probar con las otras distribuciones. Es decir, deberia de calcular los parametros  para la "rweibull" por ejemplo, y aplicarla por ejemplo a 100 iteraciones, y volver a pasarle el ad.test(), y ver si el p-value obtenido coincide. Aunque esta forma de hacerlo no me convence, pues tendria que ir probando una a una cada distribucion, ir calculandole los parametros y tal, seria una forma muy manual. Tampoco se si para calcular la distribucion que es, deberia aplibarle por ejemplo en la weibul, la rweibul, pweibul..

2 - Otra forma de hacerlo, o mas o menos un camino seguir, fue con la libreria "qAnalyst", la cual tiene un par de funciones para esto, por ejemplo, la funcion "funInfoFun", donde se le va pasando la muestra de datos, y la distribucion, y creo, que directamente te da los valores de AD y p-value, lo malo es que esta funcion solo es para distribuciones normal, lognormal, gamma,
weibull, logistic, lo cual si no son ninguna de estas no sabria que hacer, y que al comparar el resultado con el primer metodo no me coinciden los datos.

Un ejemplo seria:

data(warpTiles)
x=warpTiles$warping
infoX=funInfoFun(x,"weibull")
andersonDarlingFun(x=x, infoX$densfun, infoX$theta)

Lo bueno de esta libreria es para calcular el process capability segun la distribucion, es decir, las funciones "capabilityNormal" y "capabilityNotNormal", la cual esta ultima habria que pasarle el tipo de distribución.



Bueno, como veis, me lio bastante con esto, perdonad por el tocho escrito, pero era para ser lo mas detallado y descriptivo posible.

Si alguien ha hecho esto alguna vez, sabe alguna otra manera de hacerlo, sabe como hacerlo con alguno de estos dos metodos pero bien, o cualquier cosa, pues le estaria muy agradecio.


Asi que gracias de antemano a tod@s.








 		 	   		  
Navega con el navegador más seguro de todos. ¡Descárgatelo ya! 		 	   		  
_________________________________________________________________
[[elided Hotmail spam]]
inero!

	[[alternative HTML version deleted]]

