9 votos

Creación de datos "demo" de datos reales: disfrazando sin desfigurar

(No tengo idea de lo que la etiqueta esta con el porque yo no soy estadístico y no sé qué campo cae en. Siéntase libre de agregar más adecuado etiquetas.)

Yo trabajo para una empresa que produce software de análisis de datos, y necesitamos un conjunto digno de datos de prueba y demostración de nuestro producto más reciente. No podemos llenar la base de datos con la salida de un generador de números aleatorios debido a que el programa de las salidas sería absurdo. Una de las formas más sencillas de obtener datos de un cliente; contamos con una gran cantidad de datos de una prueba se corrió. Ahora, está claro que no podemos publicar un cliente de los datos reales, por lo que tenemos que modificar un poco, pero todavía necesitamos para que se comporte como datos reales.

El objetivo es llevar a su conjunto de datos, y solicitar una "fuzz", por lo que no puede ser reconocido como específicamente de ellos. Mi memoria de la teoría estadística en sí es un poco difusa, así que me gustaría realizar, esto por ustedes:

Esencialmente, los datos que tenemos (desde el cliente) es en sí mismo una muestra de todos los datos que existe (en el país o el mundo). Lo que me gustaría saber es qué tipo de operaciones se pueden aplicar para hacer la muestra ya no fuertemente representante del cliente de la población de la muestra, manteniendo todavía aproximadamente representante de la población mundial.

Para referencia, en la medida de como somos conscientes de que los datos que tenemos en general de la siguiente manera áspera normal (Gaussiana) de las distribuciones.

El conjunto de datos original no está ampliamente disponible, pero, en teoría, podría ser reconocidos a partir de algunos regional-características específicas (no sabemos cuales son esas características, y es dudoso que alguien hace a un nivel suficiente, pero sabemos que existen variaciones de un lugar a otro). De todos modos, estoy más interesado en la teoría de que la práctica - quiero saber si una operación hace que sea imposible (o al menos difícil) para identificar el origen del conjunto de datos por parámetro X, o si no alguien tiene o puede trabajar parámetro X en el primer lugar.

El enfoque que hemos hecho es separar las lecturas en los distintos tipos, (sin dar mucha distancia, digamos que un grupo podría ser "longitud" o "tiempo necesario para hacer X".) Para cada una de ellas, calcular la desviación estándar. Entonces, para cada valor, agregar un valor al azar entre los valores positivos y negativos de (n * stddev) donde n es una fracción que puedo usar para afinar el resultado hasta que los datos son lo suficientemente "fuzzed". No quería simplemente aplicar un intervalo estático (es decir, al azar de entre el 90% y el 110% del valor original) debido a que algunos de los valores varían mucho más o menos que otros - en algunas mediciones, siendo un 10% más que la media es apenas perceptible, pero en otras se le hace una seria de valores atípicos.

Es esto suficiente para enmascarar el origen de los datos originales? Si no, por que estadística medidas de los datos todavía pueda ser identificado, y cómo puedo máscara de aquellos y a la vez mantener los datos resultantes vagamente realista?

2voto

jws121295 Puntos 36

Hay algunas sugerencias:

  1. Convertir a forma adimensional. Si se va de 0 a 1 y no tiene unidades, como estadios por quincena o toneladas de carbón que se adjunta a continuación, es más difícil de reconocer.
  2. Agregar un pequeño número aleatorio. Cuando contortos una gaussiana con una gaussiana, que acaba de llegar otro de gauss. No cambia el essensce de ella, pero pasar de los valores exactos evita que alguien googlear números para intentar averiguar qué es.
  3. Me gusta la idea de la rotación. Usted podría tomar un retraso de algunos número de pasos para crear un 2d conjunto de datos de la 1d conjunto de datos. Luego puede usar el PCA, o de enfermedad vesicular porcina (después de centrado y de escala) para determinar la rotación. Una vez que los datos se gira adecuadamente ha cambiado la varianza y confundido a la información en sí misma. Usted puede informar a cabo uno de los rotar los ejes de coordenadas como los "datos de ejemplo".
  4. Usted puede mezclar con fuertemente formado datos de alguna otra fuente. Así que, si sus datos de ejemplo es el mercado de valores de datos, puede agregar las perturbaciones basado en el clima, o en las variaciones de la media de el tono de tu banda sonora favorita de los Beatles. Sea o no que la gente puede hacer sentido de Nasdaq, van a tener problemas para hacer sentido de Nasdaq + Beatles.

1voto

Runcible Puntos 539

Me gustaría sugerir un enfoque de dos pasos. El primer paso sería el muestreo con reemplazo, similar al método utilizado en el arranque. En R, usted podría utilizar

 newdata = sample(olddata, replace = TRUE)

Ahora tiene un conjunto de datos diferente con las mismas propiedades que el original. El segundo paso sería añadir una variable aleatoria centrado alrededor de cero:

 newdata = newdata + runif(1, min = -10, max = 10)

Cualquier variable aleatoria que es simétrica alrededor de cero va a trabajar y los límites de la distribución no son importantes.

Al final, usted debe tener un conjunto completamente diferente de los datos con las mismas propiedades que el antiguo conjunto de datos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X