有序和无序因子的解释与模型总结中的数值预测因子的对比

Red*_*sey 5 statistics modeling r categorical-data

我安装了一个模型,其中:

Y~A + A ^ 2 + B + mixed.effect(C)

Y是连续的A是连续的B实际上指的是DAY,目前看起来像这样:

Levels: 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 11 < 12
Run Code Online (Sandbox Code Playgroud)

我可以轻松地更改数据类型,但我不确定将B视为数字,因子或有序因子是否更合适.AND当被视为数字或有序因子时,我不太清楚如何解释输出.

当被视为有序因子时,summary(my.model)输出如下内容:

Linear mixed model fit by REML ['lmerMod']
Formula: Y ~ A + I(A^2) + B +  (1 | mixed.effect.C)
Fixed effects:
                       Estimate Std. Error t value
(Intercept)              19.04821    0.40926   46.54
A                      -151.01643    7.19035  -21.00
I(A^2)                  457.19856   31.77830   14.39
B.L                      -3.00811    0.29688  -10.13
B.Q                      -0.12105    0.24561   -0.49
B.C                       0.35457    0.24650    1.44
B^4                       0.09743    0.24111    0.40
B^5                      -0.08119    0.22810   -0.36
B^6                       0.19640    0.22377    0.88
B^7                       0.02043    0.21016    0.10
B^8                      -0.48931    0.20232   -2.42
B^9                      -0.43027    0.17798   -2.42
B^10                     -0.13234    0.15379   -0.86
Run Code Online (Sandbox Code Playgroud)

什么是L,Q和C?我需要知道每一天(B)对响应(Y)的影响.如何从输出中获取此信息?

当我将B视为.numeric时,我得到这样的输出:

    Fixed effects:
                       Estimate  Std. Error t value
(Intercept)            20.79679    0.39906   52.11
A                    -152.29941    7.17939  -21.21
I(A^2)                461.89157   31.79899   14.53
B                      -0.27321    0.02391  -11.42
Run Code Online (Sandbox Code Playgroud)

为了获得每一天(B)对响应(Y)的影响,我应该将B乘以B的系数(天数)乘以?不知道如何处理这个输出......

Ben*_*ker 20

这不是一个混合模型特定的问题,而是关于R中模型参数化的一般问题.

我们来试试一个简单的例子.

set.seed(101)
d <- data.frame(x=sample(1:4,size=30,replace=TRUE))
d$y <- rnorm(30,1+2*d$x,sd=0.01)
Run Code Online (Sandbox Code Playgroud)

x为数字

这只是一个线性回归:x参数表示y每单位变化的变化x; 截距指定yat 的期望值x=0.

coef(lm(y~x,d))
## (Intercept)           x 
##   0.9973078   2.0001922 
Run Code Online (Sandbox Code Playgroud)

x为(无序/常规)因子

coef(lm(y~factor(x),d))
## (Intercept)  factor(x)2  factor(x)3  factor(x)4 
##    3.001627    1.991260    3.995619    5.999098 
Run Code Online (Sandbox Code Playgroud)

截距指定y因子(x=1)的基线水平的预期值; 其他参数指定when 取其他值时的预期值之间的差异.yx

x为有序因子

coef(lm(y~ordered(x),d))
##  (Intercept) ordered(x).L ordered(x).Q ordered(x).C 
##  5.998121421  4.472505514  0.006109021 -0.003125958 
Run Code Online (Sandbox Code Playgroud)

现在截距指定的值y平均因子水平(半2和3之间); 的L(线性)参数给出的线性趋势的度量(不是确定我能解释的特定值...),QC指定二次和三次项(这是在这种情况下接近零,因为该模式是线性的); 如果有更多的级别,高阶对比将编号为5,6,......

连续差异对比

coef(lm(y~factor(x),d,contrasts=list(`factor(x)`=MASS::contr.sdif)))
##  (Intercept) factor(x)2-1 factor(x)3-2 factor(x)4-3 
##     5.998121     1.991260     2.004359     2.003478 
Run Code Online (Sandbox Code Playgroud)

该对比度将参数指定为连续级别之间的差异,这些级别都是(大约)2的常数值.