Datanalytics

Archivo

Entradas Etiquetadas ‘anonimidad’

Ley de Transparencia y anonimidad en ficheros de microdatos

Jueves, 6 de octubre de 2011 Sin comentarios

El adelanto electoral puede afectar el debate y aprobación de una ley largamente anunciada, la Ley de Transparencia.

Se trata de una ley que daría derecho a los ciudadanos a obtener datos que obren en poder de (determinados organismos de la) administración del Estado bajo criterios amplios. Ha existido una propuesta inicial del PSOE y otra —considerada superior por los partidarios de los datos abiertos— del PP. Ahora habrá que esperar a la siguiente legislatura, parece ser.

La principal reserva confesable (aunque haya mil de las otras) en contra de la liberación de los datos es el de la salvaguardia de la privacidad de los individuos y, en definitiva, que los datos liberados estén debidamente anonimizados. No es tema baladí y ya me he ocupado de él en una ocasión en esta bitácora.

Los interesados en estos asuntos (y que residan por la zona de Madrid) tendrán ocasión de oírme hablar del tema en el Seminario del Departamento de Fundamentos del Análisis Económico I y II de la Universidad Complutense el 18 de octubre.

Pronto haré público el artículo asociado para que puedan así entender el motivo por el que al leer (con mi subrayado)

[...] Para minimizar los riesgos, según Access Info y otras fuentes expertas en privacidad que hemos consultado, vale con “disociar los datos consultados de la identidad de las personas”. Es decir, que en algunos casos bastaría con tachar los nombres de un documento, según los más proclives a la transparencia.

en el primer enlace de esta entrada se me hizo aún más evidente su pertinencia.

Cierto que en algunos casos bastaría ocultar los nombres. Pero la anonimidad no es un tema trivial y exige un estudio que tampoco lo es. Daré pronto elementos a los lectores de esta bitácora que los ayuden a comprender mejor la magnitud del problema y de las herramientas disponibles (y que van más allá de las puramente rutinarias/litúrgicas) para mitigarlo.

(Nota: el gráfico, mejorable según los estándares y criterios que sostengo en estas páginas —que otorgan una importancia secundaria a los meramente estéticos— está extraído de la por lo demás recomendable página dondevanmisimpuestos.es y representa la distribución del gasto público en España en durante el año 2011).

Anonimidad y cantidad de información

Jueves, 22 de septiembre de 2011 4 comentarios

Juguemos a un juego: pienso el nombre de uno de los 45M de ciudadanos españoles y tenéis que acertarlo. Me podéis hacer preguntas, pero sólo de esas cuya respuesta es sí o no. ¿Cuántas preguntas deberíais hacerme?

Pues unas 25 o 26 porque log_2 4.5e7 = 25.42. La demostración es sencilla: suponed que tenéis una lista con los nombres de todos los ciudadanos (a razón de 45 por hoja y 200 hojas por tomo, ocuparían 5000 de ellos). La primera pregunta podría ser: el individuo que has pensado, ¿está en los tomos 1-2500? Luego, dependiendo de la respuesta, ¿del 1250 al 2500? Y etc. con la búsqueda binaria. En total, 25 o 26 veces.

Podríais preguntar por el sexo, el color del pelo o la edad. Pero a no ser que partiéseis vuestro universo en dos mitades iguales, seríais menos eficaces.

La información que tenéis que compilar para identificar finalmente al individuo x_i es log( 4.5e7 ) (permítaseme olvidar que la base es 2) o bien, definiendo N = 4.5e7,

\log( N ) = -\log( 1/ N) = -\log p_i,

si consideramos que la probabilidad de elegir al individuo x_i es p_i (y cada p_i = 1/N).

Si X es la variable aleatoria persona que yo elijo y concedemos que lo hago muestreando con probabilidad uniforme, podíamos definir

H(X) = -\sum_i p_i \log( p_i )

como el número medio de preguntas por persona que tú tienes que hacer. Como tal no es interesante porque siendo cada p_i = 1/N, resulta que H(X) = -\sum 1/N \log( 1/N ) = \log(N), cosa que ya sabíamos dos párrafos antes.

La gracia de H está en que como yo no soy uniforme en mis selección de individuos (por ejemplo, la probabilidad de que seleccione a un egabrense es nula porque no conozco a ninguno), entonces H(X) = - \sum p_i \log p_i (donde las p_i no son necesariamente iguales e incluso pueden ser nulas), es —creedme: me avalan milenios de historia de las matemáticas— menor que \log N. Es decir, necesitáis hacerme menos de 25 preguntas: ¡soy más previsible!

Supongamos que elijo a un individuo X y que ofrezco una serie de pistas X_1, \dots, X_n sobre su identidad (por ejemplo, su edad, etc.). Si X_1, \dots, X_n es suficiente para identificar a X, entonces H(X) = H( X_1, \dots, X_n ). Pero de las propiedades de H, se deduce que

H( X_1, \dots, X_n ) = H( X_1 | X_2, \dots ) + H( X_2 | X_3, \dots ) + H( X_n ) \le \sum H( X_i )

La fórmula anterior necesita alguna explicación. La primera igualdad es una consecuencia casi directa de la definición de H. El símbolo H( X| Y) representa la cantidad de información adicional que se obtiene tras preguntar acerca de X conocida Y: por ejemplo, la cantidad de información que aporta la pregunta “¿es calvo?” después de saber que el sujeto es una mujer de menos de 30 años es mucho menor que si se sabe que es un hombre mayor de 50.

La desigualdad es una consecuencia directa de la desigualdad de Jensen y es, de hecho, una igualdad cuando las variables aleatorias X_1, \dots, X_n son independientes. ¡Y es que la función f(x) = -x \log x, además de convexa, tiene unas propiedades algebraicas la mar de amenas!

Y, finalmente, la relación con la anonimidad.

Supongamos que tenemos una base de datos con información confidencial en la que, por dicho motivo, se han eliminado el nombre, dirección, teléfono, etc., de los sujetos. Pero contiene una serie de pistas sobre su identidad: sexo, provincia, edad, etc.

Si X es la variable aleatoria que relaciona cada fila de la base de datos con el sujeto del que proviene (y que un facineroso puede desear identificar para, tal vez, extorsionarlo) y las pistas X_1, \dots, X_n son suficientes para identificarlo, la anonimidad de los sujetos no puede garantizarse. Sin embargo, como hemos visto más arriba, basta con que

\sum H( X_i ) < H( X )

para que resulte matemáticamente imposible identificar a todos los sujetos.

Nota: eso no significa que sea imposible identificar a algunos de ellos. En este contexto, la condición que garantiza que ningún sujeto puede ser identificado es que el índice k de k-anonimidad sea de dos o más. De esos y otros asuntos relacionados volveré a tratar en estas páginas próximamente.