¿Cómo realiza JMP las transformaciones de BoxCox?Recientemente he estado convirtiendo fórmulas de JMP a Excel usando la opción de código de Python. No he podido transferir ninguna fórmula (MLR) que involucre una transformación de BoxCox. Ha realizado manualmente los cálculos siguiendo la fórmula y ha pasado a números en los multimillones en lugar de 100 millares como debería estar. Si alguien sabe si la fórmula ya está convertida de nuevo o si necesito hacerlo y qué debo hacer para aplicar la conversión inversa de BoxCox para volver a términos normales. No sé si me estoy perdiendo algo o si el código de Python a través de la opción de publicar fórmula falta algo. Esperaba que alguien pudiera explicar cómo JMP realiza la transformación de BoxCox para poder entenderlo mejor y potencialmente solucionarlo. Intenté adjuntar el código de la fórmula, pero no me permitió publicar. Cualquier ayuda será apreciada.
Exploración y visualización de datosModelado predictivo y aprendizaje automáticoRe: ¿Cómo realiza JMP las transformaciones de BoxCox?La documentación y la fórmula para la transformación Box-Cox están disponibles aquí: https://www.jmp.com/support/help/es/18.2/index.shtml#page/jmp/boxcox-y-transformation.shtml
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?Hola @DWS : Esto también puede ser útil.
https://community.jmp.com/t5/Discussions/How-to-understand-Lambda1-and-Lambda2-for-Box-Cox-transformation/mp/614578#M81444
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?Gracias, esto me ayudó a comprender mejor las transformaciones de BoxCox en general, pero no necesariamente cómo las realiza JMP. Creo que la siguiente pregunta me ayudará a comprenderlo. Los números que JMP muestra en la sección Estimaciones de Parámetros para una fórmula de BoxCox, ¿son simplemente transformados por BoxCox o ya se han transformado inversamente a unidades comprensibles?
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?@DWS Si todo lo que hace es seleccionar "Transformación de Box Cox" en el menú "Perfiles factoriales", no se aplica ninguna transformación y las estimaciones de los parámetros se basan en Y. Pero si reajusta aún más con la transformación de Box Cox (triángulo rojo en la salida de "Transformaciones de Box Cox"), las estimaciones de los parámetros se basan en el Y transformado.
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?Bien, para aclarar, la fórmula que aparece después de hacer clic en "Reajustar con Transformación" en ese nuevo menú, ni la fórmula ni las estimaciones de los parámetros se transforman ni se invierten a unidades reales, sino que se mantienen en las unidades transformadas. Si este es el caso, ¿es posible saber la fórmula que usa JMP para la transformación inversa, ya que proporciona unidades normales inversas en la fórmula de predicción de la columna guardada? ¿O debería aplicar una transformación inversa normal? Además, ¿sabes esto por experiencia? ¿O está escrito en alguna parte porque no lo encontré? Disculpa la cantidad de preguntas.
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?@DWS : Como puedes ver, al reajustar y guardar la fórmula de predicción, esta se transforma de nuevo, por lo que las predicciones se muestran en la escala original de Y. Y la fórmula en esa nueva columna es la fórmula de transformación inversa que buscas. No estoy seguro de si esto está en la ayuda de JMP (pero puedo ver lo que hace en mi propio trabajo). Sin embargo, no entiendo qué preguntas sobre las estimaciones de los parámetros; no se transforman de ninguna manera; solo Y sí.
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?Bien, les daré un ejemplo de una sola variable X y su intersección entre las dos fórmulas. Sin BoxCox: Intersección: 254,077 X1: -44,880. Misma fórmula y variable después de BoxCox: Intersección: 61,472,780 X1; -43,139. Vean mi problema. Estos números se toman de la estimación de parámetros y se verifican en el editor de fórmulas. Todas las variables X son iguales; no difieren mucho de sus contrapartes sin transformar, pero la intersección está muy desviada. No sé por qué, ni siquiera puedo entender cómo podría ser posible.
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?@DWS ¿Cuál es tu lambda en la transformación BC? ¿Y cuántas X tienes? ¿Puedes tomar una foto de ambos conjuntos de estimaciones de parámetros?
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?@DWS Oh querido. Creo que la retrotransformación es la menor de tus preocupaciones. Antes de que puedas pensar en interpretar coeficientes (especialmente uno de más de 50), querrás asegurarte de que los términos que tienes en tu modelo se puedan estimar con los datos que tienes. Algunas estimaciones están sesgadas, algunas están puestas a cero. Eso indica que estás tratando de estimar algunos parámetros con respecto a X que están altamente correlacionados, y/o algunos que no son estimables porque la estructura de tus datos no admite la estimación de los términos que estás tratando de estimar. Tus VIF en tu tabla de estimación de parámetros (si no están visibles, haz clic derecho con el mouse en la tabla de estimaciones de parámetros para seleccionarlos) te ayudarán a identificar la multicolinealidad (correlación). Por ejemplo, si X1 y X2 se mueven juntos, entonces incluir ambos en el modelo hace que sus coeficientes no sean confiables con respecto a la interpretación... así que uno de ellos debe excluirse como candidato en el modelo.
Además, si lambda = -0,002, puede ser más fácil utilizar la transformación LN; es más fácil de interpretar y -0,002 está muy cerca de 0 (lambda = 0 corresponde a la transformación LN).
Editar: más aquí.
https://community.jmp.com/t5/Discussions/Parameter-Estimates-being-zerod/mp/751701
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?Agradezco la ayuda; soy plenamente consciente de todo esto. Este es solo un ejemplo que creé para mostrarles la diferencia significativa entre los puntos de corte de las fórmulas BC y no BC. ¿Saben por qué son tan diferentes?
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?@DWS Bueno… uno se basa en BoxCox(Y) y el otro en Y; entonces, ¿por qué no serían diferentes los puntos de corte? Y no pretendo ser obtuso.
Dejemos de lado por ahora el problema de las estimaciones de parámetros sesgadas y puestas a cero. En ambos modelos, se utilizan mínimos cuadrados para estimar los parámetros en sus respectivos modelos. Cada uno tendrá un conjunto diferente de estimaciones de parámetros según el procedimiento de mínimos cuadrados. Son diferentes porque las respuestas son distintas (una es Y, la otra es BoxCox[Y]).
Y si asumimos la transformación LN, BoxCox[Y] = LN[Y], cuando transformamos de nuevo obtenemos Y = exp[int + combinación lineal de X] = exp[int]*exp[combinación lineal de X]. Ese modelo es multiplicativo… por lo que la intersección en ese modelo tiene un efecto diferente en Y que la intersección en el modelo aditivo sin transformar.
Espero que esto te sea útil. Quizás no entiendo la naturaleza de tu pregunta; ¿por qué te preocupa tanto?
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?No sé si puedes leer esta imagen, pero a la izquierda se ven los valores predichos comparados. No son equitativos. A la derecha, se ven las páginas de los valores no BC y BC, y sus estimaciones de parámetros en la parte inferior. Puedo obtener el valor predicho de la hoja usando la fórmula "Interceptar + Estimar (X)" que aparece en las estimaciones de parámetros para los valores no BC, pero no para los BC, ya que la estimación de BC es de 386 mil millones. Ese es el mismo número que da el código de Python, así que no puedo obtener la cifra exacta que se muestra a la izquierda en Excel. Quiero saber la fórmula que usa JMP para calcular la predicción de Box Cox que se muestra en la imagen izquierda.

Re: ¿Cómo realiza JMP las transformaciones de BoxCox?@DWS Si entiendo bien, ¿no puedes simplemente guardar la fórmula de predicción a través del menú del triángulo rojo en la parte superior de la salida?
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?@DWS O en general, ver imagen (y g es la media geométrica de Y).
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?Todavía da el 3.868e+11
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?@DWS Estás haciendo algo mal o malinterpretando algo. ¿Qué ecuación usas en Excel para obtener una predicción de Y?
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?Python directamente desde JMP
definición getModelMetadata():
return {"creator": u"Ajustar mínimos cuadrados", "modelName": u"", "predicted": u"BoxCox(Precio de venta ajustado,-1.088)", "table": u"Nation Export", "version": u"18.0.2", "timestamp": u"2025-07-02T17:34:44Z"}
definición getInputMetadata():
devolver {
u"Superficie habitable aproximada": "flotante",
u"YSB": "flotar"
}
definición getOutputMetadata():
devolver {
u"Pred Formula BoxCox(Precio de venta ajustado, -1.088)": "flotación"
}
def puntuación(datos de entrada, datos de salida):
outdata[u"Pred Formula BoxCox(Precio de venta ajustado, -1.088)"] = 386761700160.329 + 153.473460505384 * indata[u"Superficie habitable aproximada"] + -1519.63590642121 * indata[u"YSB"]
devolver datos de salida[u"Pred Formula BoxCox(Precio de venta ajustado, -1.088)"]
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?@DWS Me parece que estás devolviendo la Y transformada. Si quieres Y, necesitas volver a transformarla como se muestra en esta imagen (donde g es la media geométrica de Y).
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?@DWS Intentaré explicarlo mejor. Tu ecuación en la función de datos de salida no es correcta. Si consideras que esa función es f(x) en la imagen adjunta y que g = media geométrica de Y, obtendrás lo que buscas.
Es decir, sea f(x) = 386761700160.329 + 153.473460505384 * indata[u"Superficie habitable aproximada"] + -1519.63590642121 * indata[u"YSB"] en la imagen adjunta.
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?Quizás no soy muy bueno en matemáticas, pero no he podido hacerlo. También necesito poder introducirlo en Excel y en una función. No exactamente la misma fórmula, sino una muy parecida. Este es el editor de fórmulas. ¿Funcionaría? ¿Es correcta la notación científica?

Re: ¿Cómo realiza JMP las transformaciones de BoxCox?@DWS Se ve bien, aunque no sé cuál es la media geométrica, por lo que no puedo verificarlo completamente.
Sin embargo, puedes comprobarlo. Como indiqué varias veces, desde el análisis de la transformada Box-Cox en JMP, guarda la fórmula de predicción (triángulo rojo en la parte superior del resultado). Se creará una nueva columna de predicciones basada en esa transformación inversa. Y la fórmula guardada en esa columna debería coincidir con la anterior.
Re: ¿Cómo realiza JMP las transformaciones de BoxCox?@DWS Y, por si te sirve de algo, solemos redondear lambda al 0,5 más cercano. Es más fácil de interpretar, y en el diagrama de Box Cox suele verse que la diferencia es insignificante. En tu caso, quizá prefieras elegir lambda = -1.