1

区分的混合効果モデルからの要約出力を理解しようとしており、いくつかの洞察を使用できます。具体的には、ブレークポイントの左右の線の回帰切片と勾配を取得する方法を知りたいです。私が理解していることから、以下の出力に示されている切片は、ブレークポイントの左側の回帰直線に対するものであり、I(Days * (Days < 6.07)) に与えられた値はその直線の傾きです。ただし、I(Days * (Days >= 6.07)) は、ブレークポイントの右側の行の勾配ではなく、2 つの勾配の差でもないと思います。

library(lme4)
sleepstudy<-as.data.frame(sleepstudy)

前のスレッドからブレークポイントを引き出しました: https://stats.stackexchange.com/questions/19772/estimating-the-break-point-in-a-broken-stick-piecewise-linear-model-with-rando

Linear mixed model fit by REML ['lmerMod']
Formula: Reaction ~ I(Days * (Days < 6.07)) + I(Days * (Days >= 6.07)) +      (1 | Subject) 
   Data: sleepstudy 

REML criterion at convergence: 1784.369 

Random effects:
 Groups   Name        Variance Std.Dev.
 Subject  (Intercept) 1377.6   37.12   
 Residual              965.7   31.08   
Number of obs: 180, groups: Subject, 18

Fixed effects:
                         Estimate Std. Error t value
(Intercept)              252.2663    10.0545  25.090
I(Days * (Days < 6.07))   10.0754     1.3774   7.315
I(Days * (Days >= 6.07))  10.4513     0.8077  12.940

Correlation of Fixed Effects:
            (Intr) I(*(<6
I(D*(D<6.07 -0.409       
I(D*(D>=6.0 -0.374  0.630

ランダム効果を削除して単純化しようとしました: I() が lm モデルに含まれている場合、勾配/切片は上記の混合モデルに非常に似ており、まだ混乱しています。

mod_lm<-lm(Reaction ~ I(Days*(Days < 6.07)) + I(Days*(Days>= 6.07)), data = sleepstudy) summary(mod_lm)

Call:
lm(formula = Reaction ~ I(Days * (Days < 6.07)) + I(Days * (Days >= 
    6.07)), data = sleepstudy)

Residuals:
     Min       1Q   Median       3Q      Max 
-111.581  -27.632    1.614   26.994  141.443 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               252.266      7.629  33.066  < 2e-16 ***
I(Days * (Days < 6.07))    10.075      2.121   4.751 4.17e-06 ***
I(Days * (Days >= 6.07))   10.451      1.243   8.405 1.37e-14 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 47.84 on 177 degrees of freedom
Multiple R-squared:  0.2867,    Adjusted R-squared:  0.2786 
F-statistic: 35.57 on 2 and 177 DF,  p-value: 1.037e-13

ただし、I() が lm 式から削除されると、出力が理解でき、結果が理にかなっています。

mod_lm<-lm(反応 ~ 日*(日 < 6.07) + 日*(日>= 6.07), データ = sleepstudy) 要約(mod_lm)

Call:
lm(formula = Reaction ~ Days * (Days < 6.07) + Days * (Days >= 
    6.07), data = sleepstudy)

Residuals:
     Min       1Q   Median       3Q      Max 
-114.214  -27.833    0.603   27.254  141.693 

Coefficients: (2 not defined because of singularities)
                      Estimate Std. Error t value Pr(>|t|)   
(Intercept)            207.008     64.211   3.224  0.00151 **
Days                    16.050      7.985   2.010  0.04595 * 
Days < 6.07TRUE         45.908     64.671   0.710  0.47872   
Days >= 6.07TRUE            NA         NA      NA       NA   
Days:Days < 6.07TRUE    -6.125      8.265  -0.741  0.45965   
Days:Days >= 6.07TRUE       NA         NA      NA       NA   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 47.91 on 176 degrees of freedom
Multiple R-squared:  0.2887,    Adjusted R-squared:  0.2766 
F-statistic: 23.81 on 3 and 176 DF,  p-value: 5.526e-13

I() 項が lmer 式から削除されると、lmer は実行されません。

mod1<-lmer(Reaction ~ Days*(Days < 6.07) + Days*(Days>= 6.07) + (1|Subject), data = sleepstudy)
Error in lme4::lFormula(formula = Reaction ~ Days * (Days < 6.07) + Days *  : 
  rank of X = 4 < ncol(X) = 6

I() がモデル予測子で使用されている場合に lmer() 出力を解釈する方法を誰かに教えてもらえますか、またはモデル予測子で I() なしで lmer() モデルを実行する方法を教えてもらえますか?

R ヘルプ ページでこれに関する情報を見つけることができなかったので、利用可能なガイダンスに感謝します!

ありがとうございました。

4

1 に答える 1