混合効果モデルがあり、R²値とp値を確認したいと思います。これはsummary()でアクセスできると思いましたが、そうではありません。または、少なくとも私はそれを理解していません。
> summary(fit1.lme <- lmer(log(log(Amplification)) ~ poly(Voltage, 3) + (1 | Serial_number), data = bdf))
Linear mixed model fit by REML ['lmerMod']
Formula: log(log(Amplification)) ~ poly(Voltage, 3) + (1 | Serial_number)
Data: bdf
REML criterion at convergence: -253237.6
Scaled residuals:
Min 1Q Median 3Q Max
-14.8183 -0.4863 -0.0681 0.2941 9.3292
Random effects:
Groups Name Variance Std.Dev.
Serial_number (Intercept) 0.008435 0.09184
Residual 0.001985 0.04456
Number of obs: 76914, groups: Serial_number, 1270
Fixed effects:
Estimate Std. Error t value
(Intercept) 0.826745 0.002582 320
poly(Voltage, 3)1 286.978430 0.045248 6342
poly(Voltage, 3)2 -74.061993 0.045846 -1615
poly(Voltage, 3)3 39.605454 0.045505 870
Correlation of Fixed Effects:
(Intr) p(V,3)1 p(V,3)2
ply(Vlt,3)1 0.001
ply(Vlt,3)2 0.002 0.021
ply(Vlt,3)3 0.001 0.032 0.028
R²の場合、_‘MuMIn
_パッケージのr.squaredGLMM(fit1.lme)
を使用できます。限界R²と条件付きR²を返します。
P値については、summary
をlmerTest
パッケージと共に使用することにより、それらを見つけることができます。
混合モデルのp値の詳細: http://mindingthebrain.blogspot.ch/2014/02/three-ways-to-get-parameter-specific-p.html
オゾン層の階層的モデリングを備えた非常に小さなデモを追加します。モデリングでは、月ごとに変化することが認められています。以下の比較表をご覧ください。 R squared
という用語はMuMIn
パッケージでのみ見つかりました。
MuMInパッケージ
> data(airquality)
> MuMIn::r.squaredGLMM(lme4::lmer(data=airquality, Ozone ~ 1 + (1|Month)))
R2m R2c
[1,] 0 0.2390012
> summary(lm(data=airquality, Ozone ~ 1 + (1|Month)))$r.squared
[1] 0
ここで、線形回帰と混合効果モデル、つまり階層型回帰モデルを比較します。
線形回帰
> summary(lm(data=airquality, Ozone ~ 1 + (1|Month)))
Call:
lm(formula = Ozone ~ 1 + (1 | Month), data = airquality)
Residuals:
Min 1Q Median 3Q Max
-41.13 -24.13 -10.63 21.12 125.87
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 42.129 3.063 13.76 <2e-16 ***
1 | MonthTRUE NA NA NA NA
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 32.99 on 115 degrees of freedom
(37 observations deleted due to missingness)
lmer4
> summary(lme4::lmer(data=airquality, Ozone ~ 1 + (1|Month)))
Linear mixed model fit by REML ['lmerMod']
Formula: Ozone ~ 1 + (1 | Month)
Data: airquality
REML criterion at convergence: 1116.5
Scaled residuals:
Min 1Q Median 3Q Max
-1.7084 -0.6269 -0.2669 0.4121 3.7507
Random effects:
Groups Name Variance Std.Dev.
Month (Intercept) 270.6 16.45
Residual 861.6 29.35
Number of obs: 116, groups: Month, 5
Fixed effects:
Estimate Std. Error t value
(Intercept) 41.093 7.922 5.187
lmerTest
library(lmerTest)
> lmerTest::lmer(data=airquality, Ozone ~ 1 + (1|Month))
Linear mixed model fit by REML ['lmerModLmerTest']
Formula: Ozone ~ 1 + (1 | Month)
Data: airquality
REML criterion at convergence: 1116.544
Random effects:
Groups Name Std.Dev.
Month (Intercept) 16.45
Residual 29.35
Number of obs: 116, groups: Month, 5
Fixed Effects:
(Intercept)
41.09
> summary(lmerTest::lmer(data=airquality, Ozone ~ 1 + (1|Month)))
Linear mixed model fit by REML. t-tests use Satterthwaite's method ['lmerModLmerTest']
Formula: Ozone ~ 1 + (1 | Month)
Data: airquality
REML criterion at convergence: 1116.5
Scaled residuals:
Min 1Q Median 3Q Max
-1.7084 -0.6269 -0.2669 0.4121 3.7507
Random effects:
Groups Name Variance Std.Dev.
Month (Intercept) 270.6 16.45
Residual 861.6 29.35
Number of obs: 116, groups: Month, 5
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 41.093 7.922 4.096 5.187 0.00616 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1