Truco SAS. Tablas de una librería en una `macro variable`

Me plantean una duda, como crear un conjunto de datos con las tablas de una librería en SAS y posteriormente generar una macro variable con ellos, esta es una entrada análoga a otra del blog pero sirve para recordar como funciona el ODS de SAS y el PROC DATASETS un procedimiento que no he usado habitualmente. Lo primero que vamos a hacer es observar que resultados arroja el PROC DATASETS en su sintaxis más sencilla, 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 si cuento en el blog como poder obtenerlo bajo ciertas condiciones. Lo que si puedo contar a Juan es como 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 si 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 mi usar una regresión de poisson. Entonces, ¿qué pasa si hago una 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 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 y 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 var:; 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 EL MÉTODO supervisado no paramétrico. El KNN, si empleamos las siglas en inglés, clasifica las observaciones en función de su probabilidad de pertenecer a uno u otro grupo, en el video que encabeza la entrada queda muy bien explicado. El caso es que tenemos la posibilidad de realizar esta clasificación con SAS STAT y el PROC DISCRIM y me parece interesante dedicarle unas líneas. Hace años ya hablamos de segmentación con SAS y vamos a emplear los mismos datos para ilustrar esta entrada. Primero generamos un conjunto de datos con datos simulados de 3 esferas que clasificamos en 3 grupos: ...

29 de abril de 2016 · rvaquerizo

Mapas SAS a partir de shapefile

Los mapas como este no los hago habitualmente con SAS pero que puede interesaros saber como 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 con SAS. 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. El primer paso es crear un conjunto de datos SAS a partir del shapefile: ...

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 de SAS. yo he programado mucho en SAS y tengo que decir que no utilizo mucho este procedimiento por la propia filosofía de SAS. 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 el PROC FCMP. En mi caso concreto hago unas macros muy enrevesadas antes que programarme una función. Para ilustrar el ejemplo de uso vamos a crear una función dif_anios para determinar la diferencia en años entre dos fechas SAS. El código es: ...

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 test de independencia. Ahora que uno mismo vuelve a estudiar que es lo que hay detrás de la salida de los programas estadísticos se plantea 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 H0 o hipótesis nula es que existe independencia entre el factor de nuestro estudio y la variable dependiente en nuestro caso H0 es no hay relación entre la utilización de un pesticida y la presencia de una enfermedad frente a H1 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 en 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. En la línea habitual hacemos un ejemplo para que podáis copiar y pegar en vuestro SAS: ...

27 de febrero de 2013 · rvaquerizo