Posts

gam/bam admiten efectos aleatorios

R

gam/bam admiten efectos aleatorios

gam/bam admiten efectos aleatorios

gam/bam admiten efectos aleatorios

gam/bam admiten efectos aleatorios

gam/bam admiten efectos aleatorios

gam/bam admiten efectos aleatorios

gam/bam admiten efectos aleatorios

Y solo me enteré anoche (gracias a José Luis Cañadas).

(Para más detalles, esto o esto).

Curso (mío) de estadística bayesiana aplicada con Stan en BCN

A primeros de julio (de 2018) impartiré un curso de 15 horas de estadística bayesiana aplicada con Stan en la UPC (Barcelona). La información relevante está aquí y aquí.

El proyecto y su definición es un tanto contradictorio en sus propios términos, lo reconozco. Es muy difícil hacer algo aplicado y, a la vez, bayesiano. Y más, con Stan. Además, podrían acusarme de hipócrita: ¿cuándo fue la última vez que facturé (recuérdese: facturable es el grado máximo de aplicado) por algo hecho con Stan? Porque la idea, en el fondo, es otra: esencialmente, cómo replantear modelos y estrategias de modelización, aunque se implenten con herramientas métodos de índole frecuentista, para enriquecerlos con la visión bayesiana.

Colaboración con adversarios

¿Debe usarse casco para circular con bici por las ciudades? Pues la respuesta, incluso la data driven, depende a quién leas. Ídem con cualquier otro asunto.

Por eso es relevante la propuesta de colaboración con adversarios. Que se resume en:

  • Dos personas con visiones opuestas sobre un tema se proponen colaborar en la redacción de un estudio.
  • Cada una de ellas se responsabiliza, pues, de aportar todo tipo de estudios y evidencia al respecto, cuidando de no omitir, por la cuenta que tiene, la más relevante para hacer prevalecer punto de vista.
  • Finalmente, desarrollan una síntesis conjuntamente.

De alguna manera, este procedimiento subcontrataría en los autores del estudio el esfuerzo que hoy en día se delegan en el lector interesado: recopilar opiniones y estudios encontrados para poder llegar al momento de la síntesis. Con los problemas que plantea la asimetría de información (uno tal vez no sea experto en la materia y menos aún en la visión que del asunto tienen tirios y/o troyanos), el sesgo debido a la disponibilidad de datos, su desigual accesibilidad, etc.

Liberalismo: los axiomas y sus corolarios

Una malhadada fisura en la rótula me ha tenido boca arriba más horas de las habituales durante el último mes. Por evitar el aburrimiento, no me ha quedado otra que interponer una tableta entre cara y techo de la que leer más o menos desordenadamente. Uno de los volúmenes que ha devorado mi sobrevenida afición por la lectura ha sido Liberalismo, de von Mises.

[Llegado a este punto, me ha dado la sensación de tener que justificar por qué he leído ese y no otro libro. Pero también he sentido que debía hacerlo como si me hubiesen visto apropiándome de unas cremas en un supermercado o saliendo de un lupanar. Así que he optado por no hacerlo, decir que lo he leído porque me ha dado la gana y mandar a quien le parezca mal a freír churros.]

Leaflet con capas WMS de Correos, Catastro, etc.

R

Esta entrada es un subproducto del trabajo que pocería que he realizado estos días en caRtociudad.

caRtociudad permite generar mapas estáticos al estilo de ggmap. Iba a poner algún ejemplo, pero los dejo para otro día.

La cosa es que mejorando caRtociudad::get_cartociudad_map, se me ha pasado por la cabeza la posibilidad de realizar la integración no ya con ggmap sino con leaflet. Y así (¡probadlos!), para los códigos postales,

library(leaflet)

leaflet() %>% addTiles() %>%
  setView(-3.703399, 40.41688, zoom = 14) %>%
  addWMSTiles(
  "http://www.ign.es/wms-inspire/ign-base",
  layers = "codigo-postal",
  options = WMSTileOptions(format = "image/png",
    transparent = TRUE),
  tileOptions(tms = TRUE),
  attribution = "")

Para las secciones censales,

t y as.raster no conmutan; ¿por qué no conmutarán?

R

Creo una minimatriz, la convierto en un raster y la represento:

m <- matrix(c(0, 0, 0.33, 0.66, .9, .9), 2, 3)
m
#      [,1] [,2] [,3]
# [1,]    0 0.33   .9
# [2,]    0 0.66   .9

r <- as.raster(m)
r
#           [,1]      [,2]      [,3]
# [1,] "#000000" "#545454" "#FFFFFF"
# [2,] "#000000" "#A8A8A8" "#FFFFFF"

plot(r, interpolate = FALSE)

Ahora, con la matriz traspuesta,

r_t_1 <- as.raster(t(m))
r_t_1
#           [,1]      [,2]
# [1,] "#000000" "#000000"
# [2,] "#545454" "#A8A8A8"
# [3,] "#E6E6E6" "#E6E6E6"

obtengo

Redundancias (o por qué empeñarnos en tener tantos datos cuando con una fracción sobra)

[Esta entrada no contiene ni respuestas ni, tan siquiera, buenas preguntas. Solo vuelco en ella ideas más o menos inconexas que me rondan la cabeza. Tal vez alguien sepa reformularlas mejor, plantear la pregunta concreta que exige el asunto y, con suerte, responderla con claridad y distinción.]

Mi proyecto trata de la estimación de los parámetros que rigen una determinada curva (altamente no lineal) de la que se tienen N observaciones en el tiempo. Igual que tengo N podría tener 2N o N/2.

Diapositivas con reveal.js y yeoman

Alguna vez me han preguntado cómo construyo diapositivas como estas.

La respuesta: uso reveal.js (que me da prácticamente todo lo que se ve) y me apoyo en el generador generator-reveal de yeoman para automatizar algunas tareas. Además, casi todas las diapositivas están escritas en markdown.

Como casi siempre me olvido del procedimiento de arranque, siempre acudo a este breve tutorial. A los que no estamos muy puestos en todo lo nodejs nos viene siempre bien echar un vistazo para ver qué demonios hace cada uno de los distintos comandos (npm, n, etc.). Aunque solo sea para que no nos tachen de script-kiddies.

El malabarista de Amiga, con R (y rgl)

R

Un exalumno mío de unos cursos de R, Guillermo Luijk, ha creado

usando R (y el paquete rgl).

Toda la información relevante, (incluyendo la historia, el código, las ecuaciones, etc.) aquí. Infinitamente recomendable.

(La recomendación se extiende encarecidamente al resto de las entradas de su blog).

No son los picos, son los rangos

Me reencuentro con

tiempo después (fuente). Llaman la atención sobremanera los picos. Que no tienen otra razón de ser que un cambio en los rangos del eje horizontal.

Ahora la pregunta, de ejercicio: ¿cómo harías para representar esos datos para evitar esos artefactos (asumiendo escala lineal en el eje horizontal)?