Tôi đang cố gắng dự đoán tuổi như là một chức năng của một tập hợp các dấu hiệu methyl hóa DNA. Các dự báo này liên tục trong khoảng từ 0 đến 100. Khi thực hiện hồi quy OLS, tôi có thể thấy phương sai tăng theo tuổi.
Vì vậy, tôi quyết định phù hợp với mô hình hồi quy có trọng số. Tuy nhiên, tôi gặp khó khăn khi quyết định cách xác định trọng số cho mô hình của mình. Tôi đã sử dụng phương pháp fGLS, như vậy:
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^
Và đây là kết quả của tôi:
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
Tuy nhiên, trước khi tìm ra cách thực hiện phương pháp fGLS, tôi đã chơi xung quanh với các trọng lượng khác nhau chỉ để xem điều gì sẽ xảy ra. Tôi đã sử dụng 1 / (phần dư bình phương của mô hình OLS) làm trọng số và kết thúc với điều này:
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
Vì sai số chuẩn còn lại nhỏ hơn, R² bằng 1 (thậm chí có thể xảy ra không?) Và thống kê F cao hơn rất nhiều, tôi rất muốn giả sử mô hình này tốt hơn so với những gì tôi đạt được thông qua phương pháp fGLS. Tuy nhiên, đối với tôi, việc chọn ngẫu nhiên các trọng số thông qua thử và sai sẽ luôn mang lại kết quả tồi tệ hơn so với khi bạn thực sự cố gắng ước tính các trọng số chính xác.
Ai đó có thể cho tôi một lời khuyên về việc sử dụng trọng lượng nào cho mô hình của tôi không? Tôi cũng đã đọc ở đây và ở đó rằng bạn không thể diễn giải R² giống như cách bạn làm khi thực hiện hồi quy OLS. Nhưng sau đó nó nên được giải thích như thế nào và tôi vẫn có thể sử dụng nó để bằng cách nào đó so sánh mô hình WLS của tôi với mô hình OLS của tôi?
nlme::gls
hàm. Việc nlme::corClasses
cung cấp một danh sách các cấu trúc tương quan khác nhau.
R-squared = 1
. Bạn có một ý tưởng về các trọng lượng tiềm năng nên là gì? Âm thanh như1/(squared residuals of OLS model)
chỉ là một phỏng đoán. Nếu bạn đang ở trong bóng tối về trọng lượng, tôi khuyên bạn nên sử dụng GLS hoặc Iterative weighted Least Squares.