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モデルの2乗残差)を使用して、次のようになりました。
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モデルと何らかの形で比較できますか?
nlme::gls
関数で相関構造を指定できます。nlme::corClasses
異なる相関構造体のリストを提供します。
R-squared = 1
。潜在的な重みがどうあるべきかについての考えはありますか?まるで1/(squared residuals of OLS model)
推測のように聞こえます。重みがわからない場合は、GLSまたは反復加重最小二乗法を使用することをお勧めします。