我试图将年龄预测为一组 DNA 甲基化标记的函数。这些预测变量在 0 到 100 之间是连续的。在执行 OLS 回归时,我可以看到方差随着年龄的增长而增加。
因此,我决定拟合加权回归模型。但是,我无法决定如何为我的模型定义权重。我使用了 fGLS 方法,如下所示:
OLSressq <- OLSres^2 # Square residuals
lnOLSressq <- log(OLSressq) # Take natural log of squared residuals
aux <- lm(lnOLSressq~X) # Run auxillary model
ghat <- fitted(aux) # Predict g^
hhat <- exp(ghat) # Create h^
fGLS <- lm(Y~X, weights = 1/hhat) # Weight is 1/h^
这些是我的结果:
Call:
lm(formula = Y ~ X, weights = 1/hhat)
Weighted Residuals:
Min 1Q Median 3Q Max
-4.9288 -1.2491 -0.1325 1.2626 5.1452
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 23.1009494 5.2299867 4.417 1.64e-05 ***
XASPA -0.1441404 0.0474738 -3.036 0.00271 **
XPDE4C 0.6421385 0.0812891 7.899 1.83e-13 ***
XELOVL2 -0.2040382 0.0866564 -2.355 0.01951 *
XELOVL2sq 0.0088532 0.0009381 9.438 < 2e-16 ***
XEDARADD -0.1965472 0.0348989 -5.632 5.98e-08 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.762 on 200 degrees of freedom
Multiple R-squared: 0.9687, Adjusted R-squared: 0.9679
F-statistic: 1239 on 5 and 200 DF, p-value: < 2.2e-16
然而,在弄清楚如何执行 fGLS 方法之前,我尝试了不同的权重,只是想看看会发生什么。我使用 1/(OLS 模型的平方残差)作为权重,结果如下:
Call:
lm(formula = Y ~ X, weights = 1/OLSressq)
Weighted Residuals:
Min 1Q Median 3Q Max
-1.0893 -0.9916 -0.7855 0.9998 2.0238
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 30.8756737 1.1355861 27.19 <2e-16 ***
XASPA -0.1956188 0.0116329 -16.82 <2e-16 ***
XPDE4C 0.6168490 0.0102149 60.39 <2e-16 ***
XELOVL2 -0.1596969 0.0116723 -13.68 <2e-16 ***
XELOVL2sq 0.0078459 0.0001593 49.26 <2e-16 ***
XEDARADD -0.2492048 0.0068751 -36.25 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1 on 200 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: 1
F-statistic: 1.133e+06 on 5 and 200 DF, p-value: < 2.2e-16
由于残差标准误差较小,R² 等于 1(这甚至可能吗?)并且 F 统计量要高得多,我很想假设这个模型比我通过 fGLS 方法获得的模型更好。然而,在我看来,通过反复试验随机选择权重应该总是产生比你实际尝试用数学方法估计正确权重时更糟糕的结果。
有人可以就我的模型使用哪些权重给我一些建议吗?我也在这里和那里读到过,您不能以与执行 OLS 回归时相同的方式解释 R²。但是应该如何解释它,我是否仍然可以使用它来以某种方式将我的 WLS 模型与我的 OLS 模型进行比较?