Implementación del modelo "Power Fit" en JMP y ajuste del modeloTodos,
Tengo algunos datos que encajan bien con "Power Fit" en Excel.
Encontré información útil en este post ( https://community.jmp.com/t5/Discussions/Power-Fit-Equation-for-JMP/td-p/5783 )
Agradecería mucho más orientación sobre este tema:
- Cuando se realiza el ajuste de potencia en los datos en Excel, el ajuste parece bastante razonable
- Para realizar el ajuste de potencia en los datos en JSL, theta1 y theta2 son los 2 parámetros ajustables. A través de prueba y error, he calculado cuál es un valor razonable para theta2 y theta 1 para que el modelo de ajuste se ajuste a los datos
¿Cómo puede un usuario averiguar cuáles son los mejores valores para theta1 y theta2 para el conjunto de datos dado sin adaptar el modelo?
Por favor, por favor proporcione un ejemplo si es posible.
Re: Implementando el modelo "Power Fit" en JMP y ajustando el modeloPara proporcionar el cierre, estoy publicando la respuesta que recibí del Soporte Técnico.
Esencialmente, el lanzamiento de la plataforma no lineal a través de JSL tiene ciertas limitaciones, es decir, la mejor manera de aprovechar los modelos no lineales es haciendo lo siguiente:
1. Defina una columna que codifique la fórmula que gobierna el modelo.
2. Proporcione la columna formulada como una entrada a la llamada a la función de la plataforma no lineal.
Esto, aunque requiere un valor inicial inicial, es la mejor respuesta que he encontrado hasta ahora.
dt << New Column("Model E", Numeric, Continuous,
Formula( Parameter( {theta1 = 0.03, theta2 = 1.25}, theta1 * :year ^ theta2 ) )
);
dt << New Column("Exponential 3", Numeric, Continuous,
Formula( Parameter( {a = -20, b = 0.01, c = 0.01},
a + b * Exp( c * :year ) ) )
);
dt << New Column("Mechanistic Growth", Numeric, Continuous,
Formula( Parameter( {a = -40, b = 0.01, c = -0.01},
a * (1 - b * Exp( -c * :year ) ) ) )
);
dt << Run Formulas;
fc = Nonlinear( Y( :pop ), X( :Name("Exponential 3" )) );
fc << Finish;
fc << Save Prediction Formula;
//End Script;Re: Implementando el modelo "Power Fit" en JMP y ajustando el modeloMi comprensión de cómo funciona la plataforma no lineal es un poco diferente. Para ejecutar esa plataforma, cree una columna de predictor de fórmula utilizando parámetros. Creo que debe poner valores iniciales para estos parámetros como conjeturas. Cuando haga clic en "Ir", la plataforma le dirá si convergió a una solución o no. Si converge y guarda la solución, coloca esos valores en la columna de predictor que creó, pero la fórmula sigue siendo la misma que la original. En otras palabras, la columna del predictor contiene parámetros que usted inicializa y necesita ser optimizado. Pero a diferencia de otras plataformas JMP, la columna de guardar no crea una nueva columna, sino que solo coloca los valores de la solución en la optimización no lineal en la misma columna de fórmula que creó.
Mi entendimiento puede estar equivocado, por lo que alguien puede corregirme.
Re: Implementando el modelo "Power Fit" en JMP y ajustando el modelo @dale_lehman , @ susan_walsh1
Gracias por su sugerencia .
Estoy tratando de poner un ejemplo para entender el flujo de trabajo.
Cuando lanzo la plataforma del modelo "No lineal", y especifique lo siguiente:
- Y - variable
- X - variable
- Modelo no lineal
Guardar la fórmula pronosticada: los valores se guardan en la tabla de datos.
Estoy asumiendo que siguiendo estos pasos, ya que no estoy configurando ningún valor de inicio para los parámetros en el modelo, JMP está configurando automáticamente lo que cree que son los mejores valores posibles para los parámetros del modelo y guardando los datos pronosticados como una columna en la columna. tabla de datos .
Sin embargo, si intento ejecutar un segundo modelo en la misma tabla de datos, la columna que se agrega después de lanzar la Plataforma no lineal por segunda vez tiene la ecuación del modelo anterior. Por favor vea el código de muestra a continuación:
Clear Log();
Clear Globals();
dt = Open( "$SAMPLE_DATA/Nonlinear Examples/US Population.jmp" );
/* Run Predictions using different models*/
PowerFitPredModel = Nonlinear(Y(:pop),X(:Name("X-formula")),"Model E(2P)");
PowerFitPredModel << Save Prediction Formula ;
PowerFitPredModel << Close Window;
Wait(0.1);
CPredModel = Nonlinear(Y(:pop),X(:Name("X-formula")),"Mechanistic Growth Model(3P)");
CPredModel << Save Prediction Formula ;
CPredModel << Close Window;
Ahora, un par de cosas que no sigo son:
- Cuando lanzo la Plataforma no lineal varias veces, ¿por qué solo la primera ecuación modelo que llamo se aplica en el script anterior?
- ¿Cómo puedo determinar si los parámetros que JMP está asumiendo para ajustarse al modelo están dando una solución que converge?

Re: Implementando el modelo "Power Fit" en JMP y ajustando el modeloNo tengo una respuesta, pero esto puede iniciar una discusión interesante. Se adjunta un pequeño conjunto de datos con algunas observaciones sobre la velocidad del automóvil y la distancia de parada. Una curva de potencia parece encajar bien. Usé la plataforma no lineal en JMP con la columna del estimador; utilicé conjeturas de parámetros iniciales de 1,1 (no muy cerca de los valores correctos pero no muy lejanos); lo que se guarda en el conjunto de datos es el mejor ajuste desde el punto de vista no lineal. platfrom (en respuesta parcial a su pregunta, JMP computará theta1 y theta2 para que no tenga que preocuparse por el "sobreajuste", pero existe un problema sobre si JMP convergerá en una solución dependiendo de qué valores use como adivinanzas iniciales) . También puse una columna con la fórmula que Excel da para la línea de tendencia Power fit. Tenga en cuenta que no son los mismos! El ajuste de JMP es mejor que el ajuste de Excel. Esto no es sorprendente, ya que Excel a menudo no realiza el mejor análisis estadístico. Sin embargo, me sorprendió lo diferentes que son las dos soluciones para estos datos bastante simples.
Creo que tanto JMP como Excel pueden tener problemas al ajustar una relación de poder con los datos. JMP puede o no converger a una solución si converge, creo que la solución es confiable. Excel simplemente le da un ajuste, no sé si da un error si no puede ajustarse o qué sucede, tal vez alguien pueda aclarar cómo Excel ajusta la función de potencia a los datos. Pienso que "el exceso de equipamiento" es una pista falsa aquí, se refiere a si la relación de poder es la correcta o no, y no la relación de poder particular que está siendo adecuada. Dado que el algoritmo está eligiendo los valores theta1 y theta2, serán los valores que mejor se ajusten a los datos: el sobreajuste siempre es una posibilidad, pero es una propiedad de la función que está utilizando para ajustar los datos y no las opciones particulares de Parámetros que elige el algoritmo. Quizás una forma más clara de decir esto es que si estos datos en particular no son una buena muestra de los datos que está tratando de modelar (tal vez un tipo de automóvil diferente), entonces ajustar la relación de potencia a estos datos corre el riesgo de sobreajuste.
La pregunta de Excel vs JMP es diferente y me interesa si alguien puede aclarar las diferencias entre los dos.