Pude descubrir cómo acceder al kernel de manera más fluida en la plataforma bivariada.Una secuencia de comandos que crea algunos datos ruidosos falsos, ajusta un núcleo más suave a los datos (con una variable por) y guarda el ajuste en una nueva columna en la tabla de datos a continuación.
dt = New Table( "smoother example",
Add Rows( 90 ),
New Column( "X",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]
)
),
New Column( "Y",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
Sine( :X / (Pi() * 2) ) + Random Normal( 0, 0.01 ) + (
Floor( Random Uniform( 0, 10 ) ) == 1) * Random Uniform( -1, 1 )
),
Set Display Width( 100 )
),
New Column( "ByVar",
Character,
"Nominal",
Set Values(
{"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A", "A", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C",
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C",
"C", "C", "C", "C", "C", "C"}
)
)
);
obj = dt << Bivariate(
Ignore Platform Preferences( 1 ),
Y( :Y ),
X( :X ),
By( :ByVar )
);
obj << Kernel Smoother( 2, 1, 0.5, 1 );
obj << (curve[1] << save predicteds);Marca,
Gracias por responder rápidamente.
Tengo JMP Pro 14 y he trabajado un poco con el explorador de datos funcionales, incluida la limpieza de datos y el ajuste de splines b. Utilicé las herramientas que ayudan en la limpieza manual de datos y descubrí que funcionan bien en algunos casos. Sin embargo, en el caso de uso que describí, hay 3 elementos que busco solucionar.
1. Se necesita un tiempo considerable para limpiar un gran conjunto de datos en FDE (cientos de series temporales individuales): hacer zoom manualmente en cada serie temporal, seleccionar puntos, hacer clic en "eliminar"...
2. Las series temporales pronosticadas que se generan a partir de las splines ajustadas en FDE no imputan datos faltantes. Por ejemplo, si los datos para el tiempo = 1000 faltaban en el conjunto de datos original, faltan en el ajuste. Si hay una forma efectiva de imputar los valores directamente en FDE, no la he encontrado. Puedo encontrar una solución para esto insertando los valores de tiempo que faltan, ajustando una spline y usando los valores de spline calculados. Me gustaría eliminar los pasos adicionales.
3. En última instancia, me gustaría hacer el suavizado "en el lugar", con un script que reemplace los datos sin procesar con datos suavizados en una tabla de datos que podría contener varios cientos de sensores, cada uno con varios cientos de puntos de datos.
Distinguir entre señal real y anomalía o sesgo es relativamente sencillo en el conjunto de datos, con conocimiento de cómo se genera. Los cambios de tipo de paso son reales, pero los puntos únicos falsos son valores mal calculados. Los puntos de datos espurios en los conjuntos de datos típicos de este análisis (que ejecuto varias veces por semana) se detectan fácilmente a simple vista. Además, un alisador LOESS los identifica de forma fiable.
-Voluntad