¿Se puede personalizar la cantidad de vibración?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />¿Alguien puede decirme si el jittering es personalizable? ¿cómo lo hago?Gracias
Re: ¿Se puede personalizar la cantidad de vibración?Si usa Graph Builder, puede que no sea necesario cambiar la tabla de datos. En JMP 11 es posible agregar transformaciones personalizadas locales directamente en el panel de control de Graph Builder.
Para agitar X simplemente haga clic derecho en la variable y seleccione Fórmula... , ingrese una transformación adecuada y haga clic en Aplicar o en Aceptar para crear la variable local (es decir, se puede usar como una variable normal en Graph Builder pero no se agrega a la tabla de datos). Arrastre ambas X al campo del eje X y seleccione puntos para la transformación fluctuante y la Línea de ajuste para la X original.
Aquí está la versión JSL aplicada a la tabla de ejemplo de KarenB:
Generador de gráficos (
Variables (
X ( : X ) ,
X (
Transformar columna (
"X nervioso" ,
Fórmula ( : X + Aleatorio normal () * Desv estándar de columna ( : X ) / 20 )
) ,
Posición ( 1 )
) ,
Y ( : Y )
) ,
Elementos (
línea de ajuste (
X ( 1 ) ,
Y ,
Leyenda ( 5 ) ,
Confianza de ajuste ( 1 ) ,
Grado ( "Lineal" ) ,
) ,
Puntos ( X ( 2 ) , Y , Leyenda ( 6 ) )
)
)
Re: ¿Se puede personalizar la cantidad de vibración?Lo hice funcionar de la siguiente manera.
Problema: X e Y en el conjunto de datos original tienen mucha discretización, por lo que hay puntos ocluidos.
Objetivo: mostrar los datos con fluctuaciones en X e Y pero hacer el ajuste de línea en los datos originales
Ej: el conjunto de datos original tiene N = 6, observe los valores repetidos de X e Y
Y X
50 1
80 2
80 2
90 2
150 8
150 8
Procedimiento
1.Duplique el número de filas, agregando nuevas filas en la parte inferior del conjunto de datos iguales en número al número de filas en el conjunto de datos original. En este caso, agregue 6 filas.
2. Cree nuevas columnas X' e Y' usando las fórmulas que se muestran en la parte inferior para repetir los datos originales, pero también tenga filas adicionales que estén desactivadas por una fluctuación aleatoria de la X original usando 1/20 (o alguna otra fracción) de la sd de los diversos puntos de datos.Cree una nueva columna de grupo para indicar si X' e Y' contienen resultados originales o alterados.(En lugar de capturar el multiplicador de fluctuación de 1/20 en las fórmulas, también puede crear una variable de tabla para que sea más fácil cambiar el multiplicador sobre la marcha).
Y X Grupo X' Y'
50 1 original 1 50
80 2 originales 2 80
80 2 originales 2 80
90 2 originales 2 90
150 8 originales 8 150
150 8 originales 8 150
nervioso 0.8675 47.178279975
nervioso 2.0640 79.698789972
nervioso 2.0296 79.164367702
nervioso 2.0775 92.320672901
nervioso 7.9297 150.14705263
nervioso 7.7895 151.34309192
3.Oculte las primeras 6 filas donde X no está vacía (no estoy seguro de cómo hacer esto con una fórmula).Excluya las segundas 6 filas donde X está vacía (mismo comentario).
4. Trazar Y' por X' y ajustar una línea. Active el recálculo automático para que pueda jugar con las fórmulas y ver el efecto en la línea. Listo, solo ve los datos con fluctuaciones, pero el ajuste de línea se basa solo en los datos sin fluctuaciones.
Parece que podría escribir esto y darle al usuario un control dinámico sobre el nerviosismo:
script podría tomar el conjunto de datos original y copiarlo en una nueva tabla temporal, realizar la función que hice manualmente en la tabla (duplicar las filas, agregar X' e Y', ocultar y excluir), ajustar una línea y dar el usuario una forma de controlar el multiplicador utilizado en el ancho de fluctuación (usé 1/20 de StdDev original como el nuevo jitter Std Dev) usando un control deslizante que se encuentra debajo del gráfico y controla una constante que se usa en el conjunto de datos de la tabla temporal.
Fórmulas utilizadas:
Grupo = Si (Falta (: X), "nervioso", "original")
X' = If( Falta( :X ), :X[Row() - Col Number( :X ), Empty()] + Random Normal() * (Col Std Dev( :X ) / 20), :X )
Y' = If( Falta( :Y ), :Y[Row() - Col Number( :Y ), Empty()] + Random Normal() * (Col Std Dev( :Y ) / 20), :Y )
Re: ¿Se puede personalizar la cantidad de vibración?Ya uso la primera solución para el nerviosismo, pero preferiría algo más simple de usar. Y, para los girasoles, hay una solución para SAS/Graph en el sistema SAS de Michael Friendly para gráficos estadísticos que he estado usando desde 1992.
Para la superposición de puntos con fluctuaciones y una línea de regresión o de loess, hay una forma más simple solo para el eje Y: coloque las variables y sin fluctuaciones y con fluctuaciones en el eje Y, envíe las variables sin fluctuaciones al eje Y derecho, luego remodele la línea para el variable de la izquierda y los puntos para la de la derecha. Pero aún no encontré una solución simple para el eje X.
Gracias de cualquier manera.
Re: ¿Se puede personalizar la cantidad de vibración?Para diagramas de dispersión, puede crear una columna de fórmula con una versión alterada de la variable real.Generalmente agrego un múltiplo de un uniforme aleatorio y pruebo varios multiplicadores hasta que encuentro uno que se ve bien.
Sin embargo , entonces no se pueden trazar líneas de regresión a través de los datos fluctuantes.Para hacer eso, uno podría crear dos gráficos separados, uno con las líneas de regresión y los datos ocultos y otro con los datos fluctuantes.No sé si podrías superponerlos en JMP pero podrías muy cuidadosamente superponerlos en algo como PowerPoint.Tal vez alguien pueda sugerir una forma más simple.
Re: ¿Se puede personalizar la cantidad de vibración?Hola,
esta no es una respuesta sino otra pregunta: ¿por qué, en el generador de gráficos, es posible definir alguna forma de fluctuación para diagramas de puntos (solo 1 variable semicontinua) y no (al menos JMP Pro 11.1) para un diagrama de dispersión, ¿Dónde el jittering es más útil?
Los girasoles también serán muy útiles. Solo vea lo que SPSS puede hacer al respecto.
Yves Roy, Francia