Correlacionar conjuntos de datos con sellos de tiempo no idénticosSoy nuevo en JMP. Estoy seguro de que mi problema es bastante común, pero no sabía los términos correctos para buscar ayuda.
Realicé un experimento en el que los datos se recopilaron manualmente en puntos de tiempo aleatorios.
Para ilustrar mejor el tipo de datos que tengo, he hecho una tabla de muestra a continuación. Digamos que veo un problema con el Resultado 2, así que quiero ver si hay una correlación entre el Resultado 2 y el Resultado 1 y también entre el Resultado 2 y el Resultado 3.
Los números están completamente compuestos, pero verá que, en general, los datos no se recopilan en los mismos puntos de tiempo (pero a veces sí lo están). Los conjuntos de datos no son del mismo tamaño.
| Hora | Resultado 1 | Resultado 2 | Resultado 3 |
01:00 | 2000 | | |
| 02:00 | 5200 | | |
| 03:14 | 5000 | | |
| 04:00 | 5100 | | |
05:23 | 5200 | | |
| 06:00 | 5300 | | |
| 07:52 | 5000 | | |
| 01:15 | | 12 | |
| 04:23 | | dieciséis | |
| 06:00 | | 22 | |
| 01:17 | | | 345 |
| 02:34 | | | 345 |
| 02:50 | | | 347 |
| 04:23 | | | 347 |
| 05:53 | | | 342 |
| 08:23 | | | 235 |
| | | | |
He podido convertir la hora en una fecha porque mis datos abarcan varios días (no se muestra en la tabla de ejemplo). No sé la mejor manera de hacer esto. Si mis conjuntos de datos fueran pequeños, trataría de hacer coincidir los Resultados 2 y 3 con el conjunto de datos más cercano al Resultado 1. Diga, haga coincidir 1:00 del resultado 1 y 1:15 del resultado 2 y 1:17 del resultado 3.
Pero tengo muchos datos (unos pocos miles de puntos de datos más o menos). Solo necesito tener una idea general de lo que se correlaciona y lo que no. No necesito mantener los datos en su formato original y no necesito hacer caso de pequeñas diferencias (por lo tanto, está bien con la correlación 1:00 con 1:15 con 1:17). Solo necesito ser capaz de recorrer muchas variables diferentes y determinar ... Sí, hay una correlación, o no, no hay.
¡Gracias!
Re: Correlación de conjuntos de datos con sellos de tiempo no idénticosMuchas gracias!Re: Correlación de conjuntos de datos con sellos de tiempo no idénticosAquí hay un ejemplo simple de una manera de resolver la pregunta que hizo
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
colNamesList = dt << get column names( numeric, continuous );
dtSum = dt << Summary(
Mean( Eval( colNamesList ) ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
La documentación sobre el método y las funciones se encuentran en la Guía de secuencias de comandos y el Índice de secuencias de comandos
Ayuda ==> Libros ==> Guía de scripting
Ayuda ==> Índice de Scripting
Re: Correlación de conjuntos de datos con sellos de tiempo no idénticosEso es super impresionante. Es exactamente lo que necesitaba. Muchas gracias.
Tengo una pregunta más... para que el script haga la tabla de resumen, puedo escribir los nombres de las columnas (por ejemplo, "Resultado 2") si solo tengo algunas columnas. ¿Qué hago si tengo 100 columnas con varios nombres que deben combinarse en la tabla de datos?
¡Gracias!Re: Correlación de conjuntos de datos con sellos de tiempo no idénticosPara "emparejar" datos debe haber algún contexto para emparejar. Según su descripción, parecía que quería hacer coincidir por la hora más cercana. Si ese fuera el caso, entonces podría crear una nueva columna, la llamaré Hora Redondeada.
Round( :Time / (60 * 60), 0 ) * (60 * 60)
Luego, puede usar el Resumen de la tabla para sus resultados, solicitando la media, o min o max, ya que debería haber solo uno,
Data Table( "Example" ) << Summary(
Group( :Round Hour ),
Mean( :Result 1 ),
Mean( :Result 2 ),
Mean( :Result 3 ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to original data table( 0 )
)
Sin embargo, dados los datos inventados, habría un problema con esto. Para el resultado 3 tiene una lectura a las 2:34, que se redondearía a las 3:00 y otra a las 2:50 que se redondearía a las 3:00. ¿Qué pasaría aquí? ¿Cómo resolverías este problema?
Si requiere más lógica, por ejemplo, "si 2 resulta en la misma hora redondeada, asigne la hora más cercana a esa hora y si no asignó ninguna a la hora anterior, asigne la otra a la hora anterior" y reglas similares, entonces un script ser requerido.