Loại tình huống này có thể được xử lý bằng thử nghiệm F tiêu chuẩn cho các mô hình lồng nhau . Vì bạn muốn kiểm tra cả hai tham số theo mô hình null với các tham số cố định, nên các giả thuyết của bạn là:
H0: Β = [ 01]HMột: β ≠ [ 01] .
Thử nghiệm F liên quan đến việc khớp cả hai mô hình và so sánh tổng bình phương còn lại của chúng, đó là:
SSE0= ∑i = 1n( yTôi−xi)2SSEA=∑i=1n(yi−β^0−β^1xi)2
Thống kê kiểm tra là:
F≡ F( y , x ) = n - 22⋅ SSE0- SSEMộtSSEMột.
Giá trị p tương ứng là:
p ≡ p ( y , x ) = ∫F( y , x )∞F-Dist ( r | 2 , n - 2 ) d r .
Triển khai trong R: Giả sử dữ liệu của bạn nằm trong khung dữ liệu được gọi DATA
với các biến được gọi y
và x
. Thử nghiệm F có thể được thực hiện thủ công với mã sau đây. Trong dữ liệu giả lập mà tôi đã sử dụng, bạn có thể thấy rằng các hệ số ước tính gần với các hệ số trong giả thuyết null và giá trị p của thử nghiệm cho thấy không có bằng chứng quan trọng nào làm sai lệch giả thuyết null rằng hàm hồi quy thực là chức năng nhận dạng.
#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);
Đầu summary
ra và plot
cho dữ liệu này trông như thế này:
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