Truco SAS. Tablas de una librería en una macrovariable

Me plantean una duda: cómo crear un conjunto de datos con las tablas de una librería en SAS y, posteriormente, generar una macrovariable con ellos. Ésta es una entrada análoga a otra del blog, pero sirve para recordar cómo funciona el ODS de SAS y el PROC DATASETS, un procedimiento que no he usado habitualmente pero que es muy potente. Lo primero que vamos a hacer es observar qué resultados arroja el PROC DATASETS en su sintaxis más sencilla para ver los contenidos de una librería: ...

24 de enero de 2017 · rvaquerizo

Como obtener los centroides de municipios con SAS. Mapas con SGPLOT

Un amigo y lector del blog me ha pedido un mapa de códigos postales donde poder identificar los centroides para andar calculando distancias a otros puntos. Yo no tengo un mapa de España por códigos postales para poder usar con fines comerciales, pero sí cuento en el blog cómo poder obtenerlo bajo ciertas condiciones. Lo que sí puedo contar a Juan es cómo hacer un mapa por municipios con SAS; aunque ya he hablado de ello, hay ciertos aspectos que pueden ser interesantes. Y todo empieza donde siempre: http://www.gadm.org/country, la web donde tenemos los mapas «libres» por países. Seleccionáis Spain y el formato shapefile; una vez descargados los mapas en vuestros equipos, empezamos con el trabajo en SAS: ...

9 de noviembre de 2016 · rvaquerizo

Qué pasa si uso una regresión de poisson en vez de una regresión logística

Para un tema de mi trabajo voy a utilizar una regresión de Poisson en vez de una regresión logística; el evento es sí o no y no tiene nada que ver el tiempo, ni se puede contabilizar como un número, pero a efectos prácticos es mejor para mí usar una regresión de Poisson. Entonces, ¿qué pasa si hago una regresión de Poisson en vez de binomial? Como siempre, si mi $n$ es muy grande hay relación entre ambas distribuciones. Pero yo quiero saber si me puede clasificar mis registros igual una regresión logística, una de Poisson y una binomial, y se me ha ocurrido hacer un ejercicio teórico muy simple. ...

19 de septiembre de 2016 · rvaquerizo

Test de bondad de ajuste con SAS

Pregunta que me han hecho hoy: cómo hacer un test de bondad de ajuste con SAS. Aquí la respuesta que he dado: data datos_aleatorios; do i = 1 to 200000; * GENERAMOS UNAS VARIABLES ALEATORIAS; variable_gamma = rangam(89, 450); variable_exponencial = ranexp(23) * 100 + 0.17045; output; end; run; * ods select ParameterEstimates GoodnessOfFit; proc univariate data=datos_aleatorios; var variable_:; histogram / gamma; run; Mucho cuidado con estos test de hipótesis. Yo suelo conformarme con ver la tabla de cuantiles. Saludos.

2 de agosto de 2016 · rvaquerizo

KNN con SAS. Mejorando K-Means

La clasificación por k vecinos más cercanos es un método supervisado no paramétrico muy potente. El KNN (K-Nearest Neighbors) clasifica las observaciones en función de su proximidad a otros puntos en el espacio de características; en el vídeo que encabeza la entrada queda muy bien explicado. Tenemos la posibilidad de realizar esta clasificación con SAS/STAT y el PROC DISCRIM. Hace años ya hablamos de segmentación con SAS y vamos a emplear los mismos datos simulados de tres esferas para ilustrar esta entrada: ...

29 de abril de 2016 · rvaquerizo

Mapas SAS a partir de shapefile

Los mapas como éste no los hago habitualmente con SAS, pero puede interesaros saber cómo se pueden hacer. Para la realización de mapas a partir de shapefiles suelo usar R; los que seáis habituales del blog sabéis que hay entradas al respecto. Sin embargo, recientemente he conocido QGIS, que interactúa a la perfección con Excel. El ejemplo de hoy es para aquellos que no conocéis QGIS o R y estáis más habituados a trabajar con SAS. Se trata de importar un shapefile con SAS, poder hacer un sencillo tratamiento de datos y posteriormente realizar un mapa muy simple. Para ilustrar el ejemplo, vamos a realizar un mapa por municipios de una provincia española con SAS y, para ello, necesitamos un fichero .shp que os vais a descargar de http://www.gadm.org/country; seleccionáis los mapas de España y descargáis el ZIP que contiene los archivos. ...

29 de octubre de 2015 · rvaquerizo

PROC FCMP para crear funciones en SAS

Unas pinceladas del PROC FCMP para SAS. Este procedimiento nos permite crear nuestras propias funciones que posteriormente podremos utilizar en nuestras sesiones. He programado mucho en SAS y tengo que decir que no utilizo mucho este procedimiento por la propia filosofía de la herramienta: al final siempre se tiende a crear una macro antes que una función. Pero hay que reconocer que el lenguaje macro de SAS en ocasiones no es sencillo y muchos olvidamos que existe el PROC FCMP. ...

28 de octubre de 2014 · rvaquerizo

Truco SAS. Gráfico de correlaciones

Un truco SAS interesante para representar matrices de correlaciones. El ejemplo es muy sencillo, pero previamente tenéis que crear el conjunto de datos SAS para ilustrar el ejemplo. Así que lo primero que hay que hacer es ir a este enlace y copiar el código necesario para crear el conjunto de datos SAS auto. Una vez tenemos ese conjunto de datos de 74 observaciones y 12 variables, sólo tenemos que emplear el PROC CORR con una sintaxis muy sencilla: ...

12 de mayo de 2014 · rvaquerizo

Cuidado con el p-valor. Depende del tamaño de la muestra

El otro martes, Teresa, mi profesora de la Facultad de Estudios Estadísticos, dijo una frase que me dejó helado: «Ojo con el p-valor porque depende del tamaño muestral». Estábamos estudiando regresión logística y tests de independencia. Ahora que uno mismo vuelve a estudiar qué es lo que hay detrás de la salida de los programas estadísticos, se plantean muchas dudas. Por definición, el p-valor depende del tamaño muestral y es una medida que la tomamos como un axioma para todo: el p-valor nunca miente hasta que tenemos mucha exposición. Voy a utilizar un ejemplo que vi en clase con Teresa ligeramente retocado (no creo que se enfade, no creo ni que lea esto). Trabajo con SAS porque estoy más acostumbrado a la salida que ofrece. Se trata de realizar un test de independencia para una tabla 2x2. La $H_0$ o hipótesis nula es que existe independencia entre el factor de nuestro estudio y la variable dependiente; en nuestro caso, $H_0$ es «no hay relación entre la utilización de un pesticida y la presencia de una enfermedad», frente a $H_1$, «hay relación entre la utilización del pesticida y la presencia de la enfermedad». Simulamos los datos con SAS: ...

17 de diciembre de 2013 · rvaquerizo

Trucos SAS. Medir la importancia de las variables en nuestro modelo de regresión logística

Hoy quería proponeros una forma poco ortodoxa de medir la importancia de las variables in un modelo de regresión logística con SAS. La cuestión es: dado un modelo de regresión logística, crear un ranking con las variables más importantes dentro del modelo. Para esta tarea recomiendo el uso de Random Forest, pero puede ser imposible disponer de un software que realice este tipo de modelos. Imaginemos un caso concreto: disponemos de SAS STAT y nos da reparo trabajar con R. Para este caso podemos emplear el siguiente truco. El AIC (Criterio de Información de Akaike) es un estadístico que relaciona el cociente de la verosimilitud con el número de parámetros del modelo que ajustamos. Cuanto menor sea este cociente, mejor será nuestro modelo. Si eliminamos una variable del modelo, ¿cuánto empeora este modelo? Esa será la filosofía que emplearemos para analizar la importancia de las variables presentes en nuestro modelo. In la línea habitual, hacemos un ejemplo para que podáis copiar y pegar en vuestro SAS: ...

27 de febrero de 2013 · rvaquerizo