Prueba de homo/heteroscedacidad en JMP<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola, estoy intentando comprobar la homocedasticidad o la heterocedasticidad en un modelo de regresión de mínimos cuadrados. Puedo examinar subjetivamente los residuos, pero preferiría informar adicionalmente un valor p, como el generado por la prueba de White o la prueba de Breusch-Pagan. No puedo encontrar documentación sobre cómo hacer esto en la ayuda o documentación de JMP, ni en la web. ¿Debo guardar los residuos, elevarlos al cuadrado y luego ejecutar una nueva regresión con los mismos predictores que la original, pero con el resultado de los residuos al cuadrado? ¿Sería el valor p de Breusch-Pagan la importancia del ómnibus F en ese modelo? Esto es lo más cercano que he encontrado: http://www.augustana.edu/users/ecmarme/using%20JMP%20to%20check%20model%20for%20heteroskedasticity.ppt
Re: Prueba de homo/heteroscedacidad en JMPPara un modelo simple que comparé pag derivado de la prueba F al ajustar los residuos al cuadrado, el Chi2 correspondiente pag de la fórmula de Ron y del Breusch-Pagan pag de la función R bptest.
R y JMP regresan idénticos pag -valores (Chi2) y la prueba F pag Tampoco es muy diferente.
Aquí está el código que utilicé:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Fit original model
nc = N Col( dt );
dt << Fit Model( Y( :weight ), Effects( :height ), Personality( Standard Least Squares ), Run( residuals ) );
//Fit squared residuals
dt << New Column( "res2", values( (Column( nc + 1 ) << getvalues) ^ 2 ) );
fm = dt << Fit Model( Y( :res2 ), Effects( :height ), Personality( Standard Least Squares ), Run( residuals ) );
//Extract numbers from report
rfm = Report( fm );
R2 = rfm[Outline Box( "Summary of Fit" )][1][2][1];
n = rfm[Outline Box( "Summary of Fit" )][1][2][5];
df = rfm[Outline Box( "Analysis of Variance" )][1][2][1];
// p-value fron F-test (Anova)
Ftest_p = rfm[Outline Box( "Analysis of Variance" )][1][5][2][1];
// Breusch-Pagan p-value with JMP
bp_p_JMP = 1 - ChiSquare Distribution( n * R2, df );
// Breusch–Pagan test with R (Package lmtest must be installed)
R Init();
R Send( dt );
R Submit( "Data <- dt
names(Data)
attach(Data)
require(lmtest)
p <- bptest(weight ~ height)$p.value" );
bp_p_R = R Get( p );
R Term();
// Compare results
Show( Round( {Ftest_p, bp_p_JMP, bp_p_R}, 6 ) );
Resultados en la ventana de registro:
Ronda({Ftest_p, bp_p_JMP, bp_p_R}, 6) = {0,152976, 0,145395, 0,145395};
Re: Prueba de homo/heteroscedacidad en JMPHola kayle
según este enlace: Prueba de White - Wikipedia, la enciclopedia libre necesitas usar los residuos mismos (como lo hice yo).
según este enlace: Prueba de Breusch-Pagan - Wikipedia, la enciclopedia libre Se utilizan los residuos al cuadrado.
Re: Prueba de homo/heteroscedacidad en JMPEso es muy útil, gracias. Una pregunta rápida, sólo para comprobarlo: el modelo que creó predijo los residuos, no los residuos al cuadrado, ¿es correcto? Leí que la prueba de White usa los residuos al cuadrado. Si entiendo correctamente, en mi ejemplo sería este:
Modelo de ajuste(
Y( :res2 ),
Efectos(
:Edad,
etc.
Esto produciría un R2 de 0,222979. Entonces, LM=31* 0,222979= 6.912349. La Distribución ChiCuadrada (6.912349, 10) arroja un valor p de 0.7, que obviamente todavía no está por debajo de un razonable corte como 0,05.
Re: Prueba de homo/heteroscedacidad en JMPen ese momento supongo que ejecutó el siguiente script:
Fit Model(
Y( :Residual Runtime ),
Effects(
:Age,
:Weight,
:age2,
:weight2,
:Age * :Weight,
:Age * :age2,
:Age * :weight2,
:Weight * :age2,
:Weight * :weight2,
:age2 * :weight2
),
Personality( Standard Least Squares ),
Emphasis( Effect Screening ),
Run(
Profiler(
1,
Confidence Intervals( 1 ),
Term Value(
Age( 47.677 ),
Weight( 77.445 ),
age2( 2299.9 ),
weight2( 6064.8 )
)
),
:Residual Runtime << {Lack of Fit( 0 ), Sorted Estimates( 1 ),
Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 0 ), Plot Effect Leverage( 0 )}
)
);
entonces obtuviste R2 de 0.377547
en esta etapa simplemente tomaría ese número, lo multiplicaría por el tamaño de muestra 31 y obtendría LM=n*R2, LM=31*0.377547=11.70396.
El valor P de este número se puede obtener con el siguiente script en jmp:
New Table( "Pvalue",
Add Rows( 1 ),
New Column( "P>chiSq", Numeric, Continuous, Format( "Best", 12 ), Formula( 1 - ChiSquare Distribution( 11.703957, 10 ) ))
);
esto le dará el valor de 0,3, por lo que puede estar seguro de que el modelo original no sufrió heterocedasticidad.
Espero que haya ayudado.
Re: Prueba de homo/heteroscedacidad en JMPHola Ron, tengo problemas para especificar la regresión auxiliar y obtener el valor p de chi-cuadrado. Estos son los pasos que estoy haciendo:
1. Ajustar modelo de interés.
2. Guarde los residuos.
3. Residuos cuadrados.
4. Predictores originales cuadrados.
5. Ajuste el modelo, coloque los residuos al cuadrado en Y y agregue estos efectos del modelo:
A. Los predictores originales
B. Los predictores al cuadrado (usando el triángulo rojo al lado de transformar)
C. Todos los posibles cruces por pares de los predictores (usando la macro "factorial a grado", con 2 seleccionados a continuación)
6. Utilice r-cuadrado para determinar el valor p bajo una distribución de chi-cuadrado.
Aquí hay un ejemplo con JSL:
dt = Open("$Sample_Data/Fitness.jmp");
fm = Fit Model(
Y( :Runtime ),
Effects( :Age, :Weight ),
Personality( Standard Least Squares ),
Emphasis( Effect Leverage ),
Run(
:Runtime << {Lack of Fit( 0 ), Plot Actual by Predicted( 1 ),
Plot Regression( 0 ), Plot Residual by Predicted( 1 ),
Plot Effect Leverage( 1 ), Show VIF( 1 )}
),
);
fm << residuals;
dt << New Column ("res2",formula(:Residual Runtime^2));
dt << New Column ("age2",formula(:Age^2));
dt << New Column ("weight2",formula(:Weight^2));
Sin embargo, en este punto estoy estancado. Después de leer mucho en línea y libros de texto, creo que renunciaré a una prueba de hipótesis y me limitaré a la inspección visual subjetiva para confirmar la hipótesis. oscedasticidad para todos mis análisis. Gracias por tu ayuda.
Re: Prueba de homo/heteroscedacidad en JMPHola Kayle,
Creo que JMP no lo tiene integrado, pero puedes hacerlo "manualmente" usando el R2 de la regresión auxiliar (multiplicado por el número de parámetros) y comparándolo con el valor de chi2 apropiado.
Si necesita hacerlo con frecuencia, simplemente cree su propio proceso.
Re: Prueba de homo/heteroscedacidad en JMPHola Ron,
Gracias por el enlace. El vídeo es útil. Julian Parris sugiere usar una división de la mediana para lo pronosticado y examinar si los residuos en la mitad superior tienen una variabilidad diferente a los de la mitad inferior (usando Levene, Brown-Forsythe, Bartlett u otra prueba categórica de igualdad de variabilidad). Sin embargo, agrupar datos continuos en categorías no es lo ideal. ¿Es posible calcular la prueba de White o la prueba de Breusch-Pagan en JMP? ¿Elevar al cuadrado los residuos y correlacionarlos con las predicciones produciría valores p para una de estas pruebas?
Re: Prueba de homo/heteroscedacidad en JMPHola Kayle,
echa un vistazo a este enlace:
Diagnóstico de regresión mediante JMP: igualdad de varianza de error - YouTube
tal vez pueda darle un punto de partida.
ron