JMP에서 동종/이분산성 테스트<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요, 저는 최소 제곱 회귀 모델에서 동분산성 또는 이분산성을 확인하려고 합니다. 잔차를 주관적으로 조사할 수 있지만 White 테스트나 Breusch-Pagan 테스트에서 생성된 것과 같은 p-값을 추가로 보고하고 싶습니다. JMP 도움말이나 문서 또는 웹에서 이 작업을 수행하는 방법에 대한 문서를 찾을 수 없습니다. 잔차를 저장하고 제곱한 다음 원본과 동일한 예측 변수를 사용하여 새 회귀를 실행해야 하지만 결과는 잔차 제곱이어야 합니까? Breusch-Pagan p-값이 해당 모델에서 옴니버스 F의 중요성이 될까요? 내가 찾은 것 중 가장 가까운 것은 다음과 같습니다. http://www.augustana.edu/users/ecmarme/using%20JMP%20to%20check%20model%20for%20heteroskedasticity.ppt
Re: JMP에서 동종/이분산성 테스트간단한 모델의 경우 비교했습니다. 피 잔차 제곱을 피팅할 때 F-검정에서 파생된 해당 Chi2 피 Rons 공식과 Breusch-Pagan으로부터 피 R 함수 bpttest에서.
R과 JMP는 동일한 결과를 반환합니다. 피 -값(Chi2) 및 F-검정 피 역시 크게 다르지 않습니다.
내가 사용한 코드는 다음과 같습니다.
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 ) );
로그 창의 결과:
Round({Ftest_p, bp_p_JMP, bp_p_R}, 6) = {0.152976, 0.145395, 0.145395};
Re: JMP에서 동종/이분산성 테스트안녕하세요 케일
이 링크에 따르면: 백색 테스트 - 무료 백과사전 Wikipedia (내가 그랬던 것처럼) 잔차 자체를 사용해야 합니다.
이 링크에 따르면: Breusch-Pagan 테스트 - 무료 백과사전 Wikipedia 잔차 제곱이 사용됩니다.
Re: JMP에서 동종/이분산성 테스트매우 도움이 됩니다. 감사합니다. 다시 한 번 확인하기 위한 간단한 질문입니다. 생성한 모델은 잔차 제곱이 아닌 잔차를 예측했습니다. 맞습니까? White 테스트에서는 잔차 제곱을 사용한다는 것을 읽었습니다. 내가 올바르게 이해했다면 내 예에서는 다음과 같습니다.
적합모델(
Y( :res2 ),
효과(
:나이,
등.
그러면 R2는 0.222979가 됩니다. 따라서 LM=31* 0.222979= 6.912349. ChiSquare 분포(6.912349, 10)는 p-값 0.7을 산출하며, 이는 분명히 여전히 a 이하가 아닙니다. 합리적인 0.05 같은 컷오프.
Re: JMP에서 동종/이분산성 테스트그 시점에서 나는 당신이 다음 스크립트를 실행했다고 가정합니다.
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 )}
)
);
그러면 R2는 0.377547이 됩니다.
이 단계에서는 그 숫자에 샘플 크기 31을 곱하여 LM=n*R2, LM=31*0.377547=11.70396을 얻습니다.
이 숫자의 Pvalue는 jmp의 다음 스크립트를 사용하여 얻을 수 있습니다.
New Table( "Pvalue",
Add Rows( 1 ),
New Column( "P>chiSq", Numeric, Continuous, Format( "Best", 12 ), Formula( 1 - ChiSquare Distribution( 11.703957, 10 ) ))
);
이는 0.3의 값을 제공하므로 원래 모델이 이분산성으로 인해 어려움을 겪지 않았음을 확신할 수 있습니다.
도움이 되었기를 바랍니다.
Re: JMP에서 동종/이분산성 테스트안녕하세요 Ron, 보조 회귀를 지정하고 카이제곱 p-값을 구하는 데 문제가 있습니다. 제가 수행하는 단계는 다음과 같습니다.
1. 관심 모델에 적합합니다.
2. 잔차를 저장합니다.
3. 제곱 잔차.
4. 원래 예측변수를 제곱합니다.
5. 모델을 맞추고, 잔차 제곱을 Y에 넣고 다음 모델 효과를 추가합니다.
ㅏ. 원래 예측 변수
비. 예측 변수의 제곱(변환 옆에 있는 빨간색 삼각형 사용)
씨. 예측 변수의 가능한 모든 쌍별 교차(아래에서 2가 선택된 매크로 "계수 대 차수" 사용)
6. r-제곱을 사용하여 카이-제곱 분포에서 p-값을 결정합니다.
다음은 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));
그러나 이 시점에서 나는 막혔습니다. 온라인과 교과서를 많이 읽은 후에는 가설 테스트를 포기하고 주관적인 육안 검사를 통해 호칭을 확인할 것 같습니다. 결합성 내 모든 분석을 위해. 당신의 도움을 주셔서 감사합니다.
Re: JMP에서 동종/이분산성 테스트안녕 케일,
JMP에는 이 기능이 내장되어 있지 않은 것 같지만 보조 회귀 분석의 R2(매개변수 수를 곱함)를 사용하고 이를 적절한 chi2 값과 비교하여 "수동으로" 수행할 수 있습니다.
자주 수행해야 하는 경우 자체 프로세스를 스크립트로 작성하면 됩니다.
Re: JMP에서 동종/이분산성 테스트안녕하세요 론,
링크를 보내주셔서 감사합니다. 영상이 도움이 됩니다. Julian Parris는 예측에 대해 중앙값 분할을 사용하고 위쪽 절반의 잔차가 아래쪽 절반의 잔차와 다른 변동성을 갖는지 여부를 조사할 것을 제안합니다(Levene, Brown-Forsythe, Bartlett 또는 다른 범주형 변동성 동일성 테스트 사용). 그러나 연속 데이터를 범주로 축소하는 것은 이상적이지 않습니다. JMP에서 White 테스트나 Breusch-Pagan 테스트를 계산할 수 있나요? 잔차를 제곱하고 예측과 상관시키면 이러한 테스트 중 하나에 대한 p-값이 생성됩니까?
Re: JMP에서 동종/이분산성 테스트안녕 케일,
이 링크를 살펴보세요:
JMP를 사용한 회귀 진단 - 오류 분산 동일 - YouTube
아마도 그것은 당신에게 출발점을 줄 수 있을 것이다.
론