Logo Espacio Linux Paypal - Acepta pagos con tarjeta en tu negocio      
Portada Taller Linux Descargas Foros Buscar Mapa del sitio Ayuda BlogEL
   Iniciar sesión | Registrarse    
 
Principal

Patrocinadores

Anuncios



Boletín Espacio Linux
Las novedades del sitio y el mundo Linux en tu email.


Sitios amigos

Blogs de miembros


Directorio de blogs | Registrarse
Los usuario registrados pueden crear su propio blog y escribir comentarios.

Histogramas con lenguaje R


Por: zeka
Publicado el: 06-03-2008 @ 07:38 pm


Posiblemente, muchos de ustedes habrán oido hablar de las distribuciones "normales" de datos; sobre todo si han tomado un curso o han visto en alguna materia algo de estadística. Sin embargo, no son los únicos tipos de distribuciones que existen. Por ejemplo, yo tenía 476 valores de precipitación para el mes de julio, en mm de lámina, correspondientes a una estación climatológica y quería saber como lucia su distribución. Será cierto eso de que se ajustan a una distribución normal asimétrica. Para mayor "facilidad" en la visualización y representación, los 476 valores pueden desplegarse en una matriz de 28x17. Aquí están los valores:

2.2 0.9 1.9 0.1 2.2 8.3 7.1 0.1 0.3 0.3 23.3 25.1 6.6 17.1 11.4 1.4 0.2
1.1 6.9 0.4 19.0 0.6 0.4 13.8 0.1 1.6 8.7 13.4 7.8 3.7 3.8 21.5 24.8 27.2
2.6 5.2 0.4 11.5 18.4 0.6 10.3 0.2 0.3 0.2 1.1 15.7 10.1 0.3 8.0 5.0 1.8
0.3 6.7 6.8 7.0 3.8 1.1 5.2 13.7 1.9 50.4 1.8 1.7 14.6 4.0 6.2 56.1 7.0
1.3 7.9 0.2 6.9 1.2 1.8 2.9 4.5 5.5 1.8 23.0 3.0 20.2 19.9 1.1 6.8 5.0
0.5 1.5 1.1 22.2 2.1 1.2 1.8 3.8 18.1 10.9 0.4 4.9 4.9 0.4 16.2 30.9 86.2
3.3 40.6 0.3 57.0 2.1 15.6 13.9 4.2 1.7 5.7 11.5 3.5 9.7 0.2 37.1 9.2 0.6
18.7 4.0 0.6 3.8 15.4 19.4 2.9 9.9 15.0 2.7 0.4 2.3 1.1 0.2 3.3 33.4 0.8
7.9 0.2 30.6 2.1 3.3 10.5 1.6 7.3 0.7 2.1 50.4 1.2 0.4 16.7 24.3 1.2 3.0
0.5 9.2 16.7 4.9 20.4 4.2 0.1 2.0 0.6 0.2 21.8 0.6 0.4 0.5 9.5 60.9 4.0
12.8 0.8 11.0 6.6 4.8 12.0 0.2 4.4 0.3 4.9 3.6 46.8 0.4 8.5 4.9 4.4 17.1
21.5 2.7 5.0 0.2 11.5 2.5 1.3 7.5 3.1 12.1 2.2 3.0 2.2 21.3 3.5 9.5 7.0
13.8 1.8 37.5 0.2 0.4 0.5 1.6 2.7 0.2 2.1 2.2 6.8 1.5 4.6 0.3 2.6 12.3
2.4 0.8 13.0 15.5 38.3 9.5 0.1 0.2 7.3 1.6 14.7 3.0 10.6 8.8 0.2 15.9 9.7
43.0 4.7 0.7 4.0 2.1 6.5 5.0 6.1 1.4 25.5 9.8 1.9 2.7 0.3 5.7 41.6 1.5
7.8 0.7 1.5 0.3 10.5 6.0 10.7 0.8 8.5 16.2 28.3 22.4 3.5 7.7 0.8 2.2 1.2
15.4 8.1 1.8 34.8 4.8 4.4 12.3 26.0 2.9 5.5 4.9 10.1 1.6 27.1 2.0 0.5 9.9
0.9 23.7 4.3 0.5 1.3 29.9 0.4 0.7 2.5 1.6 9.8 0.2 4.1 13.5 7.3 0.4 10.0
0.7 2.6 4.2 3.0 1.3 1.2 5.0 2.6 3.9 0.6 0.4 0.6 14.8 3.8 7.0 13.4 3.5
1.6 19.9 4.0 12.0 0.2 1.3 3.7 1.4 6.4 0.4 1.0 2.4 20.0 11.1 0.2 1.4 5.0
2.6 0.1 11.3 18.5 0.2 0.4 6.4 5.5 6.0 1.3 7.6 0.3 7.6 3.8 1.9 25.4 0.6
0.1 23.8 3.6 1.1 6.2 0.9 1.0 13.1 10.0 13.1 1.2 5.2 0.3 17.2 2.1 14.7 1.5
2.9 0.8 2.7 29.2 15.0 6.1 38.2 34.6 12.0 0.5 9.6 1.3 17.4 2.6 2.4 3.2 0.9
6.5 6.3 21.9 8.4 12.1 7.2 0.2 25.5 8.0 0.2 8.0 3.3 0.8 8.6 4.1 3.0 9.2
4.5 6.1 44.6 130.7 0.4 31.0 6.8 7.8 2.9 6.8 13.1 0.2 1.2 3.7 13.5 4.5 0.2
7.5 4.4 0.9 7.2 8.5 32.3 0.6 55.2 27.4 22.3 3.7 0.4 2.3 2.2 22.8 0.6 1.0
0.1 7.2 0.5 2.1 0.4 7.3 0.5 4.0 1.1 19.6 29.0 1.1 10.3 7.7 2.1 0.8 1.1
7.3 13.2 1.8 1.6 2.3 5.1 1.4 1.9 1.7 0.5 3.6 9.8 6.2 25.1 2.6 2.8 3.8

Aunque la matriz no se observa de la mejor manera posible porque los valores individuales no presentan el mismo número de cifras significativas, lo cierto es que en realidad los valores los tenía reservados como un vector de 476 valores (julio.in). Para cargarlo en el interprete de R:

jul<- read.table("julio.in")

para extraer la porción que me interesa para desplegar el histograma:

julio<- jul[,1]

Para producir el histograma:

hist (julio, main="Histograma de la variable Julio", xlab="variable julio", ylab="Frecuencias", breaks=19, col="green", border="red")

cuya imagen es la siguiente:


donde se observa claramente la asimetría positiva.

Para verificar intuitivamente si se ajusta a una distribución normal asimétrica podríamos usar la fórmula de Fiering que describe matemáticamente ese tipo de distribución:

X = (2/SKEW)*(((SKEW/6)*(x-(SKEW/6))+1)³-1)*DESVEST+MEDIA

donde X, SKEW, x, DESVEST y MEDIA representan, respectivamente, la variable individual, la asimetría de la serie de datos diarios, un número aleatorio (media cero varianza uno), la desviación estándar de los datos diarios y la media de los valores diarios. A partir de los 476 valores anteriores (matriz 28x17) se puede encontrar que SKEW = 3,97, DESVEST = 12,22 y MEDIA = 8,32. Ahora sólo nos toca generar 476 números aleatorios, determinar el valor de X para cada uno de ellos y representar los datos mediante un histograma para observar como se distribuyen.

Por tanto:

SKEW<-3.97

DESVEST<-12.22

MEDIA<-8.32

x<- rnorm(476)

for(i in 1:476){ X[i]<-(2/SKEW)*(((SKEW/6)*(x[i]-(SKEW/6))+1)^3-1)*DESVEST+MEDIA; if(X[i] < 0) X[i] = 0.1}

hist (X, main="Histograma de la variable Julio", xlab="variable julio", ylab="Frecuencias", breaks=29, col="green", border="red")

La imagen resultante:

refleja, fuera de cualquier otro análisis al respecto, que la distribución normal asimétrica parece adecuada para representar este tipo de variable.




Ultima actualización el 06-07-2008 @ 07:06 pm




Añadir un comentario
Añadir un comentario
Ver más artículos
Ver más artículos
Journal ©
 



Copyright | Términos de uso | Política de privacidad | Publicidad | Contáctanos | Blog