Test per l'omo/eteroschedacità in JMP<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao, sto cercando di verificare l'omoschedasticità o l'eteroschedasticità in un modello di regressione dei minimi quadrati. Posso esaminare soggettivamente i residui, ma preferirei riportare inoltre un valore p, come quello generato dal test di White o dal test di Breusch-Pagan. Non riesco a trovare la documentazione su come eseguire questa operazione nella guida o nella documentazione di JMP o sul Web. Dovrei salvare i residui, elevarli al quadrato e quindi eseguire una nuova regressione con gli stessi predittori dell'originale, ma con il risultato pari ai residui quadrati? Il valore p di Breusch-Pagan sarebbe il significato dell'omnibus F in quel modello? Questo è il più vicino che ho trovato: http://www.augustana.edu/users/ecmarme/using%20JMP%20to%20check%20model%20for%20heteroskedastity.ppt
Oggetto: Test per omo/eteroschedacità in JMPPer un modello semplice ho confrontato P derivato dal test F durante il montaggio dei residui quadrati, il corrispondente Chi2 P dalla formula di Rons e dalla formula di Breusch-Pagan P dalla funzione R bptest.
R e JMP restituiscono identici P -valori (Chi2) e il test F P non è nemmeno molto diverso.
Ecco il codice che ho usato:
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 ) );
Risultati nella finestra Registro:
Arrotonda({Ftest_p, bp_p_JMP, bp_p_R}, 6) = {0,152976, 0,145395, 0,145395};
Oggetto: Test per omo/eteroschedacità in JMPCiao Kayle
secondo questo link: Test del bianco - Wikipedia, l'enciclopedia libera devi usare i residui stessi (come ho fatto io).
secondo questo link: Test di Breusch-Pagan - Wikipedia, l'enciclopedia libera vengono utilizzati i residui quadratici.
Oggetto: Test per omo/eteroschedacità in JMPÈ molto utile, grazie. Una domanda veloce, giusto per ricontrollare: il modello che hai creato prevedeva i residui, non i residui quadrati, è corretto? Ho letto che il test del Bianco utilizza i residui quadrati. Se ho capito bene, nel mio esempio sarebbe questo:
Modello adatto (
Y(:ris2),
Effetti(
:Età,
eccetera.
Ciò produrrebbe R2 di 0,222979. Quindi LM=31* 0,222979= 6.912349. La distribuzione ChiSquare (6.912349, 10) produce un valore p di 0,7, che ovviamente non è ancora inferiore a ragionevole taglio come 0,05.
Oggetto: Test per omo/eteroschedacità in JMPa quel punto presumo che tu abbia eseguito il seguente 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 )}
)
);
quindi hai R2 di 0,377547
a questo punto prenderei semplicemente quel numero moltiplicandolo per la dimensione del campione 31 e otterrei LM=n*R2, LM=31*0,377547=11,70396.
il valore P di questo numero può essere ottenuto con il seguente script in jmp:
New Table( "Pvalue",
Add Rows( 1 ),
New Column( "P>chiSq", Numeric, Continuous, Format( "Best", 12 ), Formula( 1 - ChiSquare Distribution( 11.703957, 10 ) ))
);
questo ti darà il valore di 0,3 così puoi essere abbastanza sicuro che il modello originale non soffrisse di eteroschedasticità.
spero che abbia aiutato.
Oggetto: Test per omo/eteroschedacità in JMPCiao Ron, ho problemi a specificare la regressione ausiliaria e a ottenere il valore p del chi quadrato. Questi sono i passaggi che sto facendo:
1. Adattare il modello di interesse.
2. Salva i residui.
3. Residui quadrati.
4. Predittori originali quadrati.
5. Adatta il modello, inserisci i residui quadrati in Y e aggiungi questi effetti modello:
UN. I predittori originali
B. I predittori al quadrato (usando il triangolo rosso accanto alla trasformazione)
C. Tutti i possibili incroci a coppie dei predittori (utilizzando la macro "fattoriale al grado", con 2 selezionati di seguito)
6. Utilizzare l'r-quadrato per determinare il valore p sotto una distribuzione chi-quadrato.
Ecco un esempio 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));
Tuttavia, a questo punto sono bloccato. Dopo aver letto molto online e libri di testo, penso che rinuncerò a un test di ipotesi e mi limiterò all'ispezione visiva soggettiva per confermare hom oscedasticità per tutte le mie analisi. Grazie per l'aiuto.
Oggetto: Test per omo/eteroschedacità in JMPCiao Kayle,
Penso che JMP non lo abbia integrato ma puoi farlo "manualmente" utilizzando R2 dalla regressione ausiliaria (moltiplicato per il numero di parametri) e confrontandolo con il valore chi2 appropriato.
se è necessario farlo frequentemente, basta scrivere il proprio processo.
Oggetto: Test per omo/eteroschedacità in JMPCiao Ron,
Grazie per il collegamento Il video è utile. Julian Parris suggerisce di utilizzare una divisione mediana per la previsione e di esaminare se i residui nella metà superiore presentano una variabilità diversa rispetto a quelli nella metà inferiore (utilizzando Levene, Brown-Forsythe, Bartlett o un altro test categorico di uguaglianza di variabilità). Tuttavia, comprimere i dati continui in categorie non è l’ideale. È possibile calcolare il test di White o il test di Breusch-Pagan in JMP? Il quadrato dei residui e la loro correlazione con le previsioni produrrebbero valori p per uno di questi test?
Oggetto: Test per omo/eteroschedacità in JMPciao Kayle,
dai un'occhiata a questo link:
Diagnostica della regressione utilizzando JMP - Uguaglianza della varianza dell'errore - YouTube
forse può darti un punto di partenza.
Ron