¿Puedo obtener una "desviación estándar móvil" como fórmula y tabla?Tengo un conjunto de datos de series de tiempo y lo que me gustaría hacer es ver si el valor de una columna (un indicador clave de rendimiento, KPI) está relacionado con la variabilidad en otra columna (una variable de proceso, PV).Creo que lo que me gustaría hacer es calcular la desviación estándar entre los n puntos de datos anteriores y los m futuros para obtener una estimación de cuánto se mueve el PV y luego representarlo como x frente al KPI como y. .Espero mostrar que el KPI aumenta a medida que aumenta la variabilidad.
Puedo hacer esto fácilmente en Excel y luego importarlo a JMP, pero estoy seguro de que hay una manera de hacerlo con una fórmula de columna JMP... Soy demasiado tonto para descubrir cómo
Gracias de antemano por cualquier ayuda
Charles
Modelado estadístico avanzadoAcceso a los datosRe: ¿Puedo obtener una "desviación estándar móvil" como fórmula en una tabla?@AdamChoen A continuación se muestra un ejemplo con by, utilizando la tabla de datos de muestra de Big Class.Los datos deben ordenarse por la columna "Por", así que abra la tabla y ordene los datos por la variable Sexo.Luego cree una nueva columna y establezca la fórmula de la nueva columna en
As Constant(
rollingSize = 5;
theStart = 1;
);
If( Lag( :sex ) != :sex,
theStart = Row()
);
If( (Row() + 1) - RollingSize >= theStart,
Std Dev( :weight[Index( (Row() + 1) - rollingSize, Row() )] );
,
.
);
</CODE></PRE></LINGO-BODY><LINGO-SUB id="lingo-sub-681817" slang="en-US" mode="NONE">Re: ¿Puedo obtener una "desviación estándar móvil" como fórmula en una tabla?</LINGO-SUB><LINGO-BODY id="lingo-body-681817" slang="en-US" mode="NONE"><P>¿Puedes agregar una opción por grupo?</P></LINGO-BODY><LINGO-SUB id="lingo-sub-476338" slang="en-US" mode="NONE">Re: ¿Puedo obtener una "desviación estándar móvil" como fórmula en una tabla?</LINGO-SUB><LINGO-BODY id="lingo-body-476338" slang="en-US" mode="NONE"><P>Estaba buscando una manera de calcular una desviación estándar móvil y encontré su solución.Gracias.Configuré: Winsize como una variable de tabla (que configuré igual a 10).</P><PRE><CODE class=" language-jsl">If( :Sample ID >= :WinSize,
Std Dev( :Lvalue[Index( (Row() + 1) - :WinSize, Row() )] )
Sin embargo, he notado que las filas excluidas se utilizan en el cálculo de StdDev.¿Hay alguna forma de omitir las filas excluidas?Suponiendo que hay N_Excl filas en la ventana de datos actual, se me ocurren dos implementaciones diferentes:
- informar la desviación estándar en función de estos puntos de datos: WinSize-N_Excl
- extienda la ventana para que haya puntos de datos "buenos" :WinSize en la ventana
No estoy seguro de cómo implementar ninguno de los dos.
¡Gracias por considerarlo!
Re: ¿Puedo obtener una "desviación estándar móvil" como fórmula en una tabla?¡Gracias!Re: ¿Puedo obtener una "desviación estándar móvil" como fórmula en una tabla?Esta es una fórmula.Mi error fue suponer que entenderías que: Altura es una referencia a la columna para realizar las desviaciones estándar.El ":" delante del nombre de la columna es un elemento de alcance que le indica a JMP que la Altura es una columna en la tabla de datos, no una variable de memoria.La columna Altura se encuentra en la tabla de datos de muestra de Big Class.Probablemente sea la tabla de datos más familiar para la comunidad JMP.Se usa mucho para ilustrar cómo hacer diferentes cosas en JMP.Está disponible en la Biblioteca de datos de muestra en el menú desplegable Ayuda.
Para copiar la fórmula en el Editor de fórmulas, abra el editor (cree una nueva columna, vaya al encabezado de la columna, haga clic derecho y seleccione "Fórmula")

mueva el cursor al cuadro "sin fórmula",

y haga clic derecho y "Pegue" el texto en el cuadro

El Editor de fórmulas crea una visualización mejorada de la fórmula.Para editar más la fórmula, haga doble clic en cualquier espacio en blanco dentro de la fórmula y aparecerá una ventana de edición.

El Editor de fórmulas es un editor completo que se puede utilizar de forma interactiva para crear fórmulas de columnas.Lo que estoy ilustrando arriba es cómo pegar una fórmula ya definida en el editor.
Re: ¿Puedo obtener una "desviación estándar móvil" como fórmula en una tabla?gracias jim
Aunque me da vergüenza decir que no entiendo bien tu respuesta...
Parece que no puedo copiar esto en la fórmula de mi columna y parece que no puedo encontrar la función: altura, así que supongo que esto es JSL.
Si es así, ¿hay alguna manera de hacer que los valores retrocedan unas cuantas filas y avancen unas cuantas filas?Si entiendo la función Índice, eso me da una serie de números enteros, entonces creo que INDEX(1,Row() ) me daría una serie de números desde 1 hasta mi fila actual.
gracias de nuevo
Charles
Re: ¿Puedo obtener una "desviación estándar móvil" como fórmula en una tabla?Esto debería funcionar para lo que quieres.
Std Dev( :height[Index( 1, Row() )] )
o para hacer un STD DEV rodante de 6 filas
Std Dev( :height[Index( Row() - 5, Row() )] )