이러한 유형의 상황은 중첩 모델에 대한 표준 F- 테스트 로 처리 할 수 있습니다 . 고정 매개 변수를 사용하여 널 모델에 대해 두 매개 변수를 모두 테스트하려고하므로 가설은 다음과 같습니다.
H0: β = [ 01]Hㅏ: β ≠ [ 01] .
F- 검정은 두 모형을 모두 적합시키고 잔차 제곱합을 비교합니다.
에스에스이자형0= ∑나는 = 1엔( y나는− x나는)2에스에스이자형ㅏ= ∑나는 = 1엔( y나는− β^0− β^1엑스나는)2
테스트 통계량은 다음과 같습니다.
에프≡ F( y , x ) = n − 22⋅ S에스이자형0− S에스이자형ㅏ에스에스이자형ㅏ.
해당 p- 값은 다음과 같습니다.
p ≡ p ( y , x ) = ∫에프( y , x )∞F- 치수 ( r | 2 , n - 2 ) d r .
R에서의 구현 : 데이터가 and DATA
라는 변수로 불리는 데이터 프레임에 있다고 가정합니다 . F 코드 테스트는 다음 코드를 사용하여 수동으로 수행 할 수 있습니다. 내가 사용한 시뮬레이션 모의 데이터에서 추정 계수가 귀무 가설의 계수에 가깝다는 것을 알 수 있으며 검정의 p- 값은 귀무 가설을 실제 회귀 함수가 정체성 기능.y
x
#Generate mock data (you can substitute your data if you prefer)
set.seed(12345);
n <- 1000;
x <- rnorm(n, mean = 0, sd = 5);
e <- rnorm(n, mean = 0, sd = 2/sqrt(1+abs(x)));
y <- x + e;
DATA <- data.frame(y = y, x = x);
#Fit initial regression model
MODEL <- lm(y ~ x, data = DATA);
#Calculate test statistic
SSE0 <- sum((DATA$y-DATA$x)^2);
SSEA <- sum(MODEL$residuals^2);
F_STAT <- ((n-2)/2)*((SSE0 - SSEA)/SSEA);
P_VAL <- pf(q = F_STAT, df1 = 2, df2 = n-2, lower.tail = FALSE);
#Plot the data and show test outcome
plot(DATA$x, DATA$y,
main = 'All Residuals',
sub = paste0('(Test against identity function - F-Stat = ',
sprintf("%.4f", F_STAT), ', p-value = ', sprintf("%.4f", P_VAL), ')'),
xlab = 'Dataset #1 Normalized residuals',
ylab = 'Dataset #2 Normalized residuals');
abline(lm(y ~ x, DATA), col = 'red', lty = 2, lwd = 2);
이 데이터 의 summary
출력과 plot
모양은 다음과 같습니다.
summary(MODEL);
Call:
lm(formula = y ~ x, data = DATA)
Residuals:
Min 1Q Median 3Q Max
-4.8276 -0.6742 0.0043 0.6703 5.1462
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.02784 0.03552 -0.784 0.433
x 1.00507 0.00711 141.370 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.122 on 998 degrees of freedom
Multiple R-squared: 0.9524, Adjusted R-squared: 0.9524
F-statistic: 1.999e+04 on 1 and 998 DF, p-value: < 2.2e-16
F_STAT;
[1] 0.5370824
P_VAL;
[1] 0.5846198