6 votos

¿Cómo saber si dos series de tiempo están correlacionadas? no son de la misma longitud y con una demora desconocida entre causa y efecto, el tiempo de registro irregular?

La escritura de todo el problema, para evitar hacer una pregunta cuando en realidad yo necesitaba una respuesta a una pregunta, y no sabía cómo preguntar. Tengo un montón de datos acerca de mi vida diaria y quiero encontrar correlaciones entre los distintos seguimiento de las variables. O, más bien, aquellas variables que están correlacionadas entre sí, para más profunda de la inspección. Cada uno de ellos tiene una precisa de la hora y, a veces, un valor que se les otorga.

No tengo idea de por donde empezar, me puede programar cosas en python, pero no tengo mucho(posiblemente) el conocimiento en las estadísticas. Y estoy en busca de una dirección de investigación, que me ayuden a resolver esta tarea.

Más información sobre los datos:

Tengo un registro de la temperatura de mi cuerpo durante los últimos 5 meses, pero solo me graba a veces, cuando me sentía mal yo. e. - No todos los días se tienen los valores y el tiempo de medición es irregular. Así, si un día no tiene un valor significa que se me olvidó de registro o me sentía bien - se supone que fue alrededor de 36.6 C, etc. O por ejemplo si sentía dolor en algún lugar - si es que tiene una entrada significa que lo sentía y la entrada no significa ningún tipo de dolor o se me olvidó, ya que el registro no fue perfecta.

Así, cuando se comparan estos tipos de series a otras series, debo almohadilla de ellos con valores por defecto o dejarlos como están?

También tengo un montón de otras mediciones, como lo que los alimentos que comía, ¿cuánto tiempo he dormido, y los registros de otros importantes eventos regulares.

Cada entrada tiene una marca de tiempo y es de tipo(valor - horas dormido, el estado de ánimo de nivel) o de tipo sucedido y registrados o no registrados.

Tengo un montón de ellos y me gustaría encontrar a aquellos que se relacionan entre sí para más mirada más profunda en ellos, además de que si acabo de trazar, no siempre es posible ver la correlación sin algún tipo de procesamiento inteligente y la métrica, creo. así, decir que tengo

La temperatura en grados Celsius

2018-05-29 11:59:00   35.7
2018-05-29 20:42:00   36.7
2018-05-29 21:23:00   36.6
2018-05-29 23:20:00   36.9
2018-05-30 11:03:00   35.8
2018-05-30 21:08:00   36.8
2018-05-30 23:34:00   36.7
2018-05-31 01:27:00   36.8
2018-05-31 17:32:00   36.4
2018-05-31 20:41:00   36.5
2018-06-01 01:05:00   37.0
2018-06-01 01:09:00   37.2
2018-06-01 01:40:00   36.7
2018-06-01 14:10:00   36.8
2018-06-01 15:58:00   36.6
2018-06-01 16:59:00   36.2
2018-06-01 22:11:00   36.1
2018-06-02 03:08:00   36.1

Comer algo dulce

2018-05-21 20:29:00    1.0
2018-05-21 22:12:00    1.0
2018-05-21 23:47:00    1.0
2018-05-24 23:19:00    1.0
2018-05-25 15:59:00    1.0
2018-05-29 20:01:00    1.0
2018-05-30 01:51:00    1.0
2018-06-02 19:28:00    1.0
2018-06-03 20:29:00    1.0

Alguna otra medida de la que tiene valores entre -5 y 3

2018-05-27 21:30:00   -1.0
2018-05-27 21:58:00    0.0
2018-05-27 22:44:00   -2.0
2018-05-28 00:54:00   -1.0
2018-05-28 23:17:00    1.0
2018-05-29 13:09:00   -1.0
2018-05-29 19:23:00   -1.0
2018-05-29 21:46:00   -1.0
2018-05-30 20:23:00   -1.0
2018-05-31 13:38:00   -1.0
2018-05-31 15:19:00   -1.0
2018-05-31 17:08:00   -1.0
2018-05-31 18:27:00    0.0
2018-05-31 20:39:00   -1.0
2018-06-01 20:07:00   -2.0
2018-06-02 12:36:00   -1.0
2018-06-02 12:52:00   -3.0
2018-06-03 14:45:00   -2.0
2018-06-03 15:16:00   -1.0

Y muchos de la misma especie, alrededor de 100 y más de no ocurren regularmente eventos, pero aún son importantes y suelen tener una mayor y el menor impacto retardado, que aquellos que se producen con regularidad, ¿cómo puedo comprobar cada uno de ellos uno contra el otro o cada uno de ellos againast una combinación de otros para la correlación?

Puedo pensar en la transformación de ellos en los promedios de más de un día, o el número de entradas por día por tan sólo rastreador de sucesos sin valor. Pero se puede hacer más tarde. Necesito un poco de ayuda con darme las direcciones dónde mirar y qué leer y qué probar.

Como ejemplo, he aquí una parcela de la temperatura de mi cuerpo y un barplot de evento X agrupados por intervalos de 24 horas durante los 2 últimos meses. Quiero saber si están correlacionados o no. evento X tiene un tiempo preciso de registro y un valor conectados a ella - de -5 a 3 pero no estoy seguro de cómo visualizar mejor todavía. enter image description here

UPD: Un ejemplo más de la trama - otro evento que se mide en horas, pero aquí lo que cuenta es el número de veces que se ha iniciado. Evento Y. enter image description here

Evento Y de nuevo, pero esta vez es el valor total para cada día(para este caso) Aunque me voy a la cama a las 3 y las 5 am y la trama se genera el uso de las 12AM como un punto de división, probablemente ajustar más tarde cuando me meto más en el proyecto. enter image description here

También tengo la intención de añadir los datos meteorológicos además de que han temperatura de la habitación y lecturas de CO2 así. Así que tengo un montón de diferente formato, de forma irregular registra y no es 100% exacto(se olvidó de registro, perdidas etc) variables de seguimiento en tiempo y quiero encontrar ideas acerca de algunas de las variables - sus causas, etc, pero no tengo idea de lo que influye en ellos y con qué retraso.

enter image description here

Hasta ahora la única idea que se me ocurrió pero no he probado a aplicar es el uso de una reccurent red neuronal como LSTM, dividido cada día en 10 minutos pedazos, y designar una entrada para cada una de las marcas de variables y darles de comer en ella, y se la enseñan a predecir el siguiente paso. Después de que me entrenar, cambiar o quitar algunas de las variables y ver cómo el panorama general de los cambios. Y, por supuesto, voy a tratar de evitar el sobreajuste él, ya que es de sólo 6 meses de datos. Pero yo no creo que sea la solución óptima. Yo no sé nada acerca de las estadísticas y no debería de ser un método de hacer lo que quiero ya. Pero ni siquiera estoy seguro de cómo google.

Sería algo que se llama "Correlación Cruzada" se ajusta a mi caso?

UPD2 pregunta para @scherm

Aunque usted menciona buscando en la trama, pero yo iba por más de una solución automatizada..

Tengo 22 seguimiento de las variables que ha >100 valores, 57 con >50 valores, 192 con >10 valores y un montón más con menos valores durante un período de 5 meses que se obtuvieron los datos, 12500 manualmente los eventos registrados/total de mediciones, 435 variables total(a algunos de ellos fueron abandonados por supuesto, pero sólo una pequeña parte).

No es una gran cantidad de datos para el análisis estadístico, pero mucho en términos de registro de forma manual.

Gracias por señalarme para el llenado de los datos que faltan paquete. También co-ocurrencia es, sin duda presente. Al final yo estaba buscando para construir una herramienta en la que voy a ser capaz de recoger un seguimiento de variable y me va a decir algo como picked_event se correlaciona con event1(n1 pasos de retraso), event2(n2 pasos de retraso), evento3(n3 pasos de retraso). Pero su respuesta se ajusta a mi pregunta.

Tengo una pregunta acerca de hacer un gráfico de dispersión de la cosa, he añadido un gráfico de dispersión de todos los puntos de datos (no intervalo de división, cada hebra es una variable) a mi post anterior, está ordenado por última vez el tracker fue utilizado. No estoy seguro de lo que puedo captar de ella y no estoy seguro de cómo iba la trama valores promedio para cada una de las variables tal como la describe, podría elaborar más sobre su 3er punto?

enter image description here

3voto

Aaron Puntos 403

Antes de abordar la correlación de la medición de los valores, puede ser muy útil para explorar la correlación de la medición de la presencia. En otras palabras, puede haber información para extraer a partir de la medición de co-ocurrencia. Por ejemplo, es posible medir la temperatura más a menudo cuando usted come dulces. Si usted descubre que es cierto, puede aislar los períodos de tiempo donde se han comido los dulces y analizar su temperatura durante esos tiempos.

Aquí es donde me gustaría empezar, dada la naturaleza de su conjunto de datos y el tipo de exploración que están tratando de hacer.

  1. Decidir sobre un adecuado tamaño de la ventana de, digamos, 10 minutos. Crear intervalos de tiempo correspondientes a estas ventanas, a partir de la fecha y hora de su primera medición y termina en la fecha y hora de su última medición. La construcción de un pandas dataframe, donde cada fila corresponde a un intervalo de tiempo, y cada columna a un tipo de medición ("función").
  2. Para cada intervalo, calcular el promedio (media o mediana) de valor para cada característica correspondiente a dicho intervalo. Si no hay ninguna medida para un determinado tipo durante el intervalo, escriba "NaN" para esa columna. Puede que también desee registrar otra información. Por ejemplo, si usted tomó 3 mediciones de temperatura durante un intervalo de tiempo, que podría convertirse en otra característica a analizar. (véase el ejemplo en la edición de abajo)*
  3. Hacer un diagrama de dispersión donde los intervalos de tiempo a lo largo del eje x, y los valores de la característica (el promedio obtenido en el paso #2) son el eje y. Cada característica debe ser de un color diferente punto. Si la característica es NaN para un intervalo de tiempo, no de la parcela. También, la mente de su eje y de escala, ya que puede ser difícil de visualizar los datos sin necesidad de hacer algunos de normalización de la primera. Este tipo de trama va a dar un primer vistazo a todas sus características a la vez. Puede haber tendencias interesantes que usted puede centrarse en. O, todavía puede ser demasiado difícil de visualizar. Que bien, estamos explorando!
  4. El uso de una herramienta como missingno para analizar sus datos completos. Hay un montón de cosas interesantes en este paquete, y no estoy demasiado familiarizado con ella, así que voy a dejar a explorar sus posibilidades. Personalmente, me gustaría echar un vistazo a missingno.matrix, missingno.heatmapy missingno.dendrogram

En ese momento, puede que ya se han observado tendencias interesantes. Seguir explorando! No necesariamente se debe correlacionar el tiempo de la serie a sí mismos para descubrir cosas interesantes.

Si usted está realmente interesado en la computación de la similitud entre las series de tiempo con diferentes escalas, mirar en el momento dinámico de deformación. Si se calculan los pares DTW similitud entre todas sus características, usted puede ser capaz de inferir que las características tienden a ir juntos. He visto esto se aplica a los datos financieros para analizar las acciones que la misma tendencia. Sin embargo, DTW no resuelve el problema de los datos faltantes. Para eso, usted tendrá que buscar en los datos de la imputación. Pero tenga en cuenta que ninguna cantidad de imputación puede crear una base de datos para usted! Sólo puede llenar los vacíos basado en lo que usted piensa pertenece allí.


EDITAR

Se pidió una aclaración sobre el promedio de proceso en el paso 2. Aquí está un ejemplo con la temperatura del cuerpo:

Suponga que usted está interesado en los intervalos de tiempo de ancho de $w$. De vez en $t_j$ tiempo $t_{j+1}=t_j+w$, digamos que usted ha medido la temperatura $T$ total $n_j$ veces: $T_1, \ldots, T_{n_j}$. Entonces, en lugar de marcar un punto para cada una de las $n_j$ de las mediciones de temperatura de la parcela con un único punto correspondiente a la temperatura media $\bar{T}_j=1/{n_j}\sum_{i=1}^{n_j} T_i$. El objetivo es simplemente para crear una trama con menos desorden. Para las variables categóricas, tendría más sentido a la trama de la mediana de la media.

Mediante la reducción de la fidelidad de su eje x tener menos puntos, la trama puede ser más fácil de mirar. Pero usted está tratando con más funciones de lo que yo esperaba, por lo que la utilidad de este enfoque es limitado. Me gustaría jugar con missingno un poco más: - la comprensión de la función de co-ocurrencia puede ser el primer paso en la comprensión de relaciones de causa y efecto entre las características. Buena suerte!

0voto

Usted está interesado en la causalidad de Granger. Como la pérdida de datos, esto va a ser costoso si intenta utilizar la causalidad de Granger, como se usa la regresión lineal (que es muy sensible a la falta de datos).

Usted puede tratar el ingreso de la temperatura media para reemplazar los valores perdidos, pero este viene con sus propios problemas -- para más información sobre esto, consulte la imputación.

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