Test de Levene con SAS

Mayo 7th, 2012 por rvaquerizo

El Test de Levene se aplica para la igualdad de varianzas. Es un análisis de la varianza de las desviaciones de los valores muestrales respecto a una medida de tenedencia central. Parte de la hipótesis nula de igualdad de varianzas. Para realizar este test en SAS emplearemos el PROC GLM en combinación con la opción HOVtest. En la línea habitual vemos un ejemplo:


data datos;
 input presion @@;
 if _n_<=5 then grupo=1;
 else if _n_<=10 then grupo=2;
 else if _n_<=15 then grupo=3;
 else if _n_<=20 then grupo=4;
 else grupo=5;
cards;
180 172 163 158 147 173 158 170
146 152 175 167 158 160 143 182
160 162 171 155 181 175 170 155 160
;
run;
 Proc GLM Data=datos ;
  Class grupo;
  Model presion = grupo;
  Means grupo/HOVTest;
  ODS select HOVFTest;
 Quit;

Vemos que se trata de un código sencillo donde modelizamos con GLM la variable dependiente con la variable grupo y en MEANS indicamos con HOVtest que deseamos que se realice el test de Levene, con ODS seleccionamos sólo esa salida. Este código podemos parametrizarlo y crear una macro que nos permita replicar el código:

%Macro Levene(datos,grupo,variable);
Proc GLM Data=&datos ;
Class &grupo;
Model &variable=&grupo;
Means &grupo/HOVTest;
ODS select HOVFTest;
Quit;
%Mend Levene;
%levene(datos,grupo,presion);

Espero que sea de vuestra utilidad. Saludos.

Tags: ,

Sentencia del Tribunal de Justicia de la UE sobre el caso WPS y SAS

Mayo 2nd, 2012 por rvaquerizo

El caso de WPS y SAS por fin tiene un final. World Programing Software ha vencido (por fin) al todo poderoso SAS Institute Inc. La sentencia establece que:

De este modo, procede señalar que no puede haber infracción del derecho de autor sobre el programa de ordenador cuando, como sucede en el caso de autos, el adquirente legítimo de la licencia no ha tenido acceso al código fuente del programa de ordenador correspondiente a esa licencia, sino que se limitó a estudiar, observar y verificar ese programa con el fin de reproducir su funcionalidad en un segundo programa.

WPS no tiene el código fuente de SAS por lo tanto está dentro de la ley y cuesta mucho menos, esto último no lo dicen, lo digo yo. También hay algún aspecto sobre el software propietario que es muy interesante pero tengo que estudiar si pone lo que pone:

40 En efecto, tal como el Abogado General señala en el punto 57 de sus conclusiones, admitir que el derecho de autor pudiera proteger la funcionalidad de un programa de ordenador supondría ofrecer la posibilidad de monopolizar las ideas, en perjuicio del progreso técnico y del desarrollo industrial.

¿Cómo se puede interpretar este artículo?

En fin, aunque comercialmente la gente de WPS deja mucho que desear ya pueden decir que tienen un software 100% legal.

R portable para Windows

Abril 24th, 2012 por rvaquerizo

Miguel Angel Rodríguez pone a nuestra disposición una versión portable de R para Windows:

https://stat.ethz.ch/pipermail/r-help-es/2012-April/003841.html

Creo que será muy útil para aquellos que estáis comenzando a trabajar con R. La instalación es muy sencilla y os puede ahorrar mucho trabajo y tiempo. Desde estas líneas agradecer a Miguel Angel el trabajo.

La distribución tweedie

Abril 23rd, 2012 por rvaquerizo

 tweedie.png

Reconozco que hace muy poco tiempo que trabajo con las distribuciones tweedie. Un viejo dinosaurio que trabaja sobre todo con SAS se hace el sordo cuando le hablan de la distribución tweedie. Quizá sea el trabajo con SAS el que me ha nublado. Pero ahora que empiezo a trabajar con otras herramientas… Para comprender mejor la base teórica para este tipo de distribuciones os enlazo a la wikipedia. Pero despierta mi interés debido a que se puede considerar una gamma con punto de masa en el 0 ¡toma aberración matemática! Aspecto interesante.

Este tipo de distribución necesita 3 parámetros; p que nos indica el tipo de distribución en R se denomina power, mu que es la media y phi que es la desviación típica. En R disponemos del paquete tweedie para trabajar con este tipo de distribuciones, la función rtweedie es la que genera números aleatorios según una tweedie con parámetros p, mu y phi:

#install.packages("tweedie")
library(tweedie)
#Números aleatorios distribuidos según una tweedie
y1 <- rtweedie( 10000, p=1, mu=600, phi=1000)
summary(y1)
y1.5 <- rtweedie( 10000, p=1.5, mu=600, phi=1000)
summary(y1.5)
y2 <- rtweedie( 10000, p=2, mu=600, phi=1000)
summary(y2)
par(mfrow=c(2,2))
plot(density(y1),main="Densidad con parámetro p=1")
plot(density(y1.5),main=" Densidad con parámetro p=1.5")
plot(density(y2),main=" Densidad con parámetro p=2")
Más que interesante el resultado obtenido. Con p=1 fijaos que forma tiene la función de densidad con distintos puntos de masa, con p=1.5 estamos ante una distribución que se parece mucho a una gamma salvo por un “pequeño detalle” tenemos muchos ceros. Con p=2 deberíamos tener una gamma. Pero es entre el 1 y el 2 donde esta distribución es más interesante sobre todo si se aplica a modelos de riesgo en estudios actuariales ya que nos permite modelizar directamente la prima de riesgo sin ser necesario modelizar el coste y la frecuencia por separado.

Tags: ,

Trucos SAS. Errores y formatos

Abril 19th, 2012 por rvaquerizo

Un truco SAS que puede ayudar a todos aquellos que estén empezando a programar en SAS. Hay ocasiones que trabajamos con datasets que tienen formatos y nos encontramos con el error: "formato FMT no se ha encontrado o no se ha podido cargar". ¿Qué hacer? Lo primero es jugar con la opción FMTERR:

options nofmterr;

Esta opción de SAS nos permite trabajar con conjuntos de datos SAS con formatos aunque no estén cargados porque no se tienen en cuenta los errores. Por otro lado podemos emplear PROC DATASETS para eliminar todos los formatos (entrada y/o salida) de un conjunto de datos SAS, el código es el siguiente:


proc datasets lib=librer;
modify conjunto_datos;
format _all_;
informat _all_;
quit;

Eliminamos todos los formatos de un conjunto de datos SAS de forma instantánea. También podemos eliminar sólo los numéricos con _NUM_ o los alfanuméricos con _CHAR_. Espero que estas líneas os ayuden. Saludos.

Tags: , , ,

R cayendo en la lista TIOBE

Abril 16th, 2012 por rvaquerizo

No me ha gustado esta sorpresa en la lista TIOBE de abril de 2012:

lista_tiobe_r.PNG

R cae por debajo del puesto 30 y se ve superado tanto por SAS como por MATLAB. ¿Será una tendencia? Hay que seguir esta evolución en los próximos meses.

Tags:

Los recortes en educación, ¿implican peor calidad del sistema educativo?

Abril 12th, 2012 por rvaquerizo

Mucho se está hablando de los recortes en educación que va a llevar a cabo el Gobierno español. Es evidente que la educación en España no funciona muy bien. No lo digo yo, lo dice el informe PISA:

http://www.oecd.org/dataoecd/54/12/46643496.pdf

Pero España invierte un 4,6% del PIB en educación. Un % que a mi me parecía poco:

http://epp.eurostat.ec.europa.eu/statistics_explained/index.php/Educational_expenditure_statistics

¿Es poco? ¿Dónde se sitúa España? Manos a la obra: Excel, BuscarV, gráfico de dispersión y JWalk Chart Tools. Con estos ingredientes tenemos:

pisa-frente-a-porcentaje-de-pib-en-educacion.png

[me hubiera gustado PISA frente a gasto por cada 1000 habitantes] Si hacéis más grande la imagen vemos que España está tanto por debajo de la media en % de gasto en educación  y en puntuación en el informe PISA. No parece clara la correlación entre gasto y puntuación, ahí tenemos a Japón o Alemania. Pero si es cierto que estamos muy mal situados en PISA para recortar en la más importante de las inversiones. Es probable que los recortes no afecten a la calidad del sistema pero es porque el sistema no funciona, así que, bajo mi punto de vista, es un error el recorte.

Tags: ,

Trucos SAS. Pasar fecha a caracter en SAS

Abril 11th, 2012 por rvaquerizo

Pasar números a carácter en SAS es un tema reiterativo tanto en entradas al blog como en búsquedas. Pero que se le puede dar otra vuelta de tuerca. Se trata de transformar fechas a variables alfanuméricas, pero en este caso vamos a poner las fechas en formato español. Ejecutad este ejemplo en SAS:

data uno;
y = '30jan11'd;
c0 = put(y,ddmmyy10.);
c1 = upcase(put(y,ESPDFDD.));
c2 = upcase(put(y,ESPDFDE.));
c3 = upcase(put(y,ESPDFDN.));
c4 = upcase(put(y,ESPDFDT.));
c5 = upcase(put(y,ESPDFDWN.));
c6 = upcase(put(y,ESPDFMN.));
c7 = upcase(put(y,ESPDFMY.));
c8 = upcase(put(y,ESPDFWDX.));
c9 = upcase(put(y,ESPDFWKX.));
run;

Imagino que todos tenéis el NLS de SAS instalado y no tenéis problemas con estos formatos. Resumamos que nos ofrece cada una de estas transformaciones:

  • DDMMYY10 es el más habitual y nos genera 30/01/2011 podemos jugar con la longitud
  • ESPDFDD genera 30.01.2011 un formato que personalmente utilizo mucho
  • ESPDFDE genera 30ENE2011 probablemente el más habitual
  • ESPDFDN genera un 7, la semana del año
  • ESPDFDT genera un fecha-hora con formato español, en este caso no tiene mucho sentido
  • ESPDFDWN nos pone el día de la semana, domingo
  • ESPDFMN nos pone el mes, enero
  • ESPDFMY genera ENE11, práctico para sumarizaciones
  • ESPDFWDX genera 30 DE ENERO DE 2011
  • ESPDFWKX genera DOMINGO, 30 DE ENERO DE 2011 un formato que no he usado nunca

Estos formatos SAS los conozco gracias a un lector del blog. Al César lo que es del César. Aquí aprendemos todos.  Es interesante recogerlos todos juntos para que esta entrada quede como una referencia de la transformación de fechas en textos en SAS. Saludos.

Tags: ,

Trucos Excel. Mapa de México por Estados

Abril 7th, 2012 por rvaquerizo

mapa_excel_mexico1.png

Hoy os presento la versión inicial del mapa de México por Estados Federales para que le podáis usar en Excel, Powerpoint, Word o alguna de las herramientas habituales de ofimática. Se trata de un archivo Excel con macros que os podéis descargar en este enlace. La hoja Mapa contiene una serie de shapes que están nombrados para poder cambiar de color en función de una variable tramo. Este Excel inicial está preparado para poder pintar hasta 5 tramos, Lee el resto de esta entrada »

Tags: , , ,

Data mining, Business intelligence (y/o la nube)

Abril 3rd, 2012 por rvaquerizo

Hace tiempo que quería publicar una entrada en respuesta a estos comentarios escritos en el blog. Se trata de analizar las búsquedas en Google a través de Google Trends de los términos: Business Intelligence, Data Mining, Cloud Computing y NOSQL. El resultado es más que interesante:

busquedas_google.png

En rojo tenemos Data Mining, en azul tenemos Business Intelligence, en naranja Cloud Computing y en verde NOSQL. A la vista de este gráfico cabe preguntarse ¿es R en la nube el futuro de la profesión? 

Tags: ,