Test auf Homo-/Heteroszedizität in JMP<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo, ich versuche, in einem Regressionsmodell der kleinsten Quadrate auf Homo- oder Heteroskedastizität zu prüfen. Ich kann die Residuen subjektiv untersuchen, würde aber lieber zusätzlich einen p-Wert angeben, beispielsweise einen, der durch den White-Test oder den Breusch-Pagan-Test generiert wird. Ich kann in der JMP-Hilfe oder -Dokumentation oder im Internet keine Dokumentation dazu finden. Soll ich die Residuen speichern, sie quadrieren und dann eine neue Regression mit denselben Prädiktoren wie beim Original durchführen, aber mit dem Ergebnis den quadrierten Residuen? Wäre der Breusch-Pagan-p-Wert die Bedeutung des Omnibus F in diesem Modell? Das kommt mir am nächsten: http://www.augustana.edu/users/ecmarme/using%20JMP%20to%20check%20model%20for%20heteroskedasticity.ppt
Betreff: Test auf Homo-/Heteroszedizität in JMPFür ein einfaches Modell habe ich verglichen P abgeleitet aus dem F-Test bei der Anpassung der quadrierten Residuen, dem entsprechenden Chi2 P aus Rons Formel und dem Breusch-Pagan P aus der R-Funktion bptest.
R und JMP geben identisch zurück P -Werte (Chi2) und der F-Test P ist auch nicht viel anders.
Hier ist der Code, den ich verwendet habe:
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 ) );
Ergebnisse im Protokollfenster:
Round({Ftest_p, bp_p_JMP, bp_p_R}, 6) = {0.152976, 0.145395, 0.145395};
Betreff: Test auf Homo-/Heteroszedizität in JMPHallo Kayle
laut diesem Link: Weißtest – Wikipedia, die freie Enzyklopädie Sie müssen die Residuen selbst verwenden (wie ich es getan habe).
laut diesem Link: Breusch-Pagan-Test – Wikipedia, die freie Enzyklopädie Es werden die quadrierten Residuen verwendet.
Betreff: Test auf Homo-/Heteroszedizität in JMPDas ist sehr hilfreich, danke. Eine kurze Frage, nur um es noch einmal zu überprüfen: Das von Ihnen erstellte Modell hat die Residuen vorhergesagt, nicht die quadrierten Residuen. Ist das richtig? Ich habe gelesen, dass der White-Test die quadrierten Residuen verwendet. Wenn ich das richtig verstehe, wäre es in meinem Beispiel so:
Modell anpassen(
Y( :res2 ),
Auswirkungen(
:Alter,
usw.
Dies würde einen R2 von 0,222979 ergeben. Also, LM=31* 0,222979= 6.912349. Die ChiQuadrat-Verteilung (6,912349, 10) ergibt einen p-Wert von 0,7, der offensichtlich immer noch nicht unter a liegt vernünftig Cutoff wie 0,05.
Betreff: Test auf Homo-/Heteroszedizität in JMPZu diesem Zeitpunkt gehe ich davon aus, dass Sie das folgende Skript ausgeführt haben:
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 )}
)
);
dann ergibt sich ein R2 von 0,377547
Zu diesem Zeitpunkt würde ich diese Zahl einfach mit der Stichprobengröße 31 multiplizieren und LM=n*R2, LM=31*0,377547=11,70396 erhalten.
Der P-Wert dieser Zahl kann mit dem folgenden Skript in jmp ermittelt werden:
New Table( "Pvalue",
Add Rows( 1 ),
New Column( "P>chiSq", Numeric, Continuous, Format( "Best", 12 ), Formula( 1 - ChiSquare Distribution( 11.703957, 10 ) ))
);
Dadurch erhalten Sie den Wert 0,3, sodass Sie ziemlich sicher sein können, dass das ursprüngliche Modell nicht unter Heteroskedastizität litt.
hoffe es hat geholfen.
Betreff: Test auf Homo-/Heteroszedizität in JMPHallo Ron, ich habe Probleme beim Spezifizieren der Hilfsregression und beim Ermitteln des Chi-Quadrat-p-Werts. Dies sind die Schritte, die ich mache:
1. Passen Sie das gewünschte Modell an.
2. Residuen speichern.
3. Quadratische Residuen.
4. Quadratische ursprüngliche Prädiktoren.
5. Passen Sie das Modell an, geben Sie quadrierte Residuen in Y ein und fügen Sie diese Modelleffekte hinzu:
A. Die ursprünglichen Prädiktoren
B. Die Prädiktoren im Quadrat (unter Verwendung des roten Dreiecks neben der Transformation)
C. Alle möglichen paarweisen Kreuzungen der Prädiktoren (unter Verwendung des Makros „Fakultät zu Grad“, wobei 2 unten ausgewählt sind)
6. Verwenden Sie das R-Quadrat, um den p-Wert unter einer Chi-Quadrat-Verteilung zu bestimmen.
Hier ist ein Beispiel mit 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));
An diesem Punkt stecke ich jedoch fest. Nachdem ich viel im Internet und in Lehrbüchern gelesen habe, denke ich, dass ich auf einen Hypothesentest verzichten und einfach bei der subjektiven visuellen Inspektion bleiben werde, um Hom zu bestätigen Oskedastizität für alle meine Analysen. Vielen Dank für Ihre Hilfe.
Betreff: Test auf Homo-/Heteroszedizität in JMPHallo Kayle,
Ich denke, JMP hat es nicht eingebaut, aber Sie können es „manuell“ tun, indem Sie das R2 aus der Hilfsregression (multipliziert mit der Anzahl der Parameter) verwenden und es mit dem entsprechenden chi2-Wert vergleichen.
Wenn Sie dies häufig tun müssen, schreiben Sie einfach Ihren eigenen Prozess.
Betreff: Test auf Homo-/Heteroszedizität in JMPHallo Ron,
Danke für den Link. Das Video ist hilfreich. Julian Parris schlägt vor, eine Medianaufteilung für die Vorhersage zu verwenden und zu untersuchen, ob die Residuen in der oberen Hälfte eine andere Variabilität aufweisen als die in der unteren Hälfte (unter Verwendung von Levene, Brown-Forsythe, Bartlett oder einem anderen kategorialen Variabilitätsgleichheitstest). Die Zusammenfassung kontinuierlicher Daten in Kategorien ist jedoch nicht ideal. Ist es möglich, den White-Test oder den Breusch-Pagan-Test in JMP zu berechnen? Würde das Quadrieren der Residuen und deren Korrelation mit den Vorhersagen p-Werte für einen dieser Tests ergeben?
Betreff: Test auf Homo-/Heteroszedizität in JMPHallo Kayle,
Schauen Sie sich diesen Link an:
Regressionsdiagnose mit JMP – Equality of Error Variance – YouTube
Vielleicht kann es Ihnen einen Ausgangspunkt geben.
Ron