简单
brm_simulate_simple()
模拟先前的数据集MMRM的简单特殊情况的预测分布。
图书馆(brms.mmrm)
设置种子(0)
模拟<- brm模拟简单(
n组= 三,
n病人= 100,
n时间= 4
)
这个数据
元素有一个类易怒的
你可以直接供应给brm_formula()
和brm_model()
.
模拟$数据
#>#A桥:1200×4
#>反应组时间患者
#><dbl><chr><chr
#>1 1.11组_1时间_1患者_001
#>2 2.15组_1时间_2患者_001
#>3 2.54组_1时间_3患者_001
#>4-1.73组_1次_4患者_001
#>5 1.11组_1时间_1患者_002
#>6 2.64组_1时间_2患者_002
#>7 1.69组_1时间_3患者_002
#>8 0.783组_1时间_4患者_002
#>9 0.118组_1时间_1患者_003
#>10 2.48组_1时间_2患者_003
#> # ℹ 1190多行
这个参数
元素具有相应的参数先前关节模拟的值。的参数brm_simulate_simple()
控制超参数。
字符串(模拟$参数)
#>列表(共5个)
#>贝塔系数:数值[1:6]1.263-0.326 1.33 1.272 0.415。。。
#>$套:编号[1:4]-0.092857-0.029472-0.000577 0.240465
#>西格玛:数量[1:4]0.911 0.971 0.999 1.272
#>$lambda:num[1:4,1:4]1 0.415-0.818-0.282 0.415。。。
#>$协方差:num[1:4,1:4]0.831 0.368-0.745-0.326 0.368。。。
以及模型矩阵
元素具有回归模型固定效应参数矩阵。
头(模拟$模型矩阵)
#>groupgroup_1groupgroup_2 groupgroup_3time_2 timetime_3timetime_4
#> 1 1 0 0 0 0 0
#> 2 1 0 0 1 0 0
#> 3 1 0 0 0 1 0
#> 4 1 0 0 0 0 1
#> 5 1 0 0 0 0 0
#> 6 1 0 0 1 0 0
更改自基线
brm_data_change()
可以将结果变量从对基线变化的原始响应。这适用于实际数据集传递[brm_data()]以及来自例如[brm_simulate_simple()]。上面的数据集使用带有基线时间点“时间_1”
模拟$数据
#>#A桥:1200×4
#>反应组时间患者
#><dbl><chr><chr
#>1 1.11组_1时间_1患者_001
#>2 2.15组_1时间_2患者_001
#>3 2.54组_1时间_3患者_001
#>4-1.73组_1次_4患者_001
#>5 1.11组_1时间_1患者_002
#>6 2.64组_1时间_2患者_002
#>7 1.69组_1时间_3患者_002
#>8 0.783组_1时间_4患者_002
#>9 0.118组_1时间_1患者_003
#>10 2.48组_1时间_2患者_003
#> # ℹ 1190多行
brm_data_change()
减去基线,替换原始对基线列进行新更改的响应列,添加新的列,并调整内部类对象的属性。
brm_data_更改(
数据=模拟$数据,
名称更改(_C)= “新建更改”,
名称基线= “新基线”
)
#>#A桥:900×5
#>new_change new_baseline组时间患者
#><dbl><dbl><chr><chr><chr>
#>1 1.04 1.11组_1时间_2患者_001
#>2 1.43 1.11组_1时间_3患者_001
#>3-2.84 1.11组_1时间_4患者_001
#>4 1.53 1.11组_1时间_2患者_002
#>5 0.576 1.11组_1时间_3患者_002
#>6-0.328 1.11组1次4名患者_002
#>7 2.37 0.118组_1时间_2患者_003
#>8 3.07 0.118组_1时间_3患者_003
#>9-1.14 0.118组_1时间_4患者_003
#>10 1.57 1.29组_1时间_2患者_004
#> # ℹ 890多行
高级
要进行更精细的模拟,请逐层构建数据集。从开始brm_simulate_outline()
创建首字母结构和随机缺失模式。在brm_simulate_outline()
,缺少的响应可能来自短暂的并发事件或辍学。这个丢失的
列指示将使用的结果值缺少(NA_批准_
)在随后的步骤中。这个响应
列暂时完全缺失,将稍后进行模拟。
数据<- brm_simulate_outline(模拟输出)(
n组= 2,
n病人= 100,
n时间= 4,
费率_比例= 0.3
)
数据
#>#A桥:800×5
#>反应缺失组时间患者
#><dbl><lgl><chr><chr
#>1 NA假group_1 time_1 patient_001
#>2 NA真组_1时间_2患者_001
#>3 NA TRUE组_1时间_3患者_001
#>4 NA TRUE组_1 time_4 patient_001
#>5 NA假group_1 time_1 patient_002
#>6 NA错误组_1 time_2 patient_002
#>7 NA真组_1时间_3患者_002
#>8 NA TRUE组_1 time_4 patient_002
#>9 NA假group_1 time_1 patient_003
#>10 NA假group_1 time_2 patient_003
#> # ℹ 还有790行
可选添加随机连续协变量brm_simulate_continuous()
和随机分类协变量使用brm _模拟_类别()
在每种情况下协变量是非时间变量,这意味着每个患者只能得到一个独特的价值。
数据<-数据|>
brm模拟连续(姓名= c(c)(“生物标志物1”,“生物标志物2”))|>
brm模拟分类(
姓名= c(c)(“状态1”,“状态2”),
水平= c(c)(“存在”,“缺席”)
)
数据
#>#A桥:800×9
#>响应缺失组时间患者生物标记1生物标记2状态1状态2
#><dbl><lgl><chr><chr><dbl><dbl><chr><chr
#>1 NA FALSE group_1 time_1患者…0.328-0.655存在缺失
#>2 NA TRUE组_1 time_2患者…0.328-0.655不存在
#>3 NA TRUE组_1时间_3患者…0.328-0.655不存在
#>4 NA TRUE组_1时间_4患者…0.328-0.655存在-不存在
#>5 NA FALSE group_1 time_1患者…1.04-0.779缺席
#>6 NA FALSE group_1 time_2患者…1.04-0.779缺席
#>7 NA TRUE组_1 time_3患者…1.04-0.779缺失
#>8 NA TRUE组_1 time_4患者…1.04-0.779缺失
#>9 NA FALSE group_1 time_1患者…0.717-0.954存在缺失
#>10 NA FALSE group_1 time_2患者…0.717-0.954不存在
#> # ℹ 还有790行
如下一节所述,brms.mmrm公司
有一个方便的功能brm_simulate_prior()
以模拟结果变量响应
使用上面的数据框架和先验预测分布。但是,如果您喜欢全定制方法,您可能需要有关参数化的详细信息,这需要模型矩阵。幸运的是,业务风险管理系统
支架一make_standata()
函数,在给定数据集的情况下提供和一个公式。您可能需要临时将响应变量设置为没有遗漏,您可能希望在前面指定自定义。
图书馆(brms)
公式<- brm公式(数据=数据)
#>警告:包含NA的行已从模型中排除。
#>错误:数据中的所有观察值都可能因NA值而被删除。
公式
#>反应~组+组:时间+时间+unsr(时间=时间,gr=患者)
#>sigma~0+时间
标准数据<- make_standata品牌(
公式=公式,
数据= 突变(数据,响应= 0)
)
模型矩阵<-标准数据$X
头(模型矩阵)
#>拦截组group_2 timetime_2 timetime_3 timetime_4
#> 1 1 0 0 0 0
#> 2 1 0 1 0 0
#> 3 1 0 0 1 0
#> 4 1 0 0 0 1
#> 5 1 0 0 0 0
#> 6 1 0 1 0 0
#>组2:timetime_2组2:timetime_3组2:timetime_4
#> 1 0 0 0
#> 2 0 0 0
#> 3 0 0 0
#> 4 0 0 0
#> 5 0 0 0
#> 6 0 0 0
之前
功能brm_simulate_prior()
模拟之前的预测分布。它需要数据集和公式接受之前使用构造的自定义brms::设置优先级()
.
公式<- brm公式(数据=数据)
#>错误:数据中的所有观察值都可能因NA值而被删除。
图书馆(brms)
先前的<- 设置优先级(“学生_(3,0,1.3)”,类= “拦截”)+
设置优先级(“学生_(3,0,1.2)”,类= “b”)+
设置优先级(“学生_(3,0,1.1)”,类= “b”,数据保护器= “西格玛”)+
设置优先级(“lkj(1)”,类= “科蒂姆”)
先前的
#>上等coef组resp dpar nlpar lb ub源
#>student_t(3,0,1.3)拦截<NA><NA>用户
#>student_t(3,0,1.2)b<NA><NA>用户
#>学生_(3,0,1.1)bσ<NA><NA>用户
#>lkj(1)cortime<NA><NA>用户
模拟<- brm _模拟_之前(
数据=数据,
公式=公式,
先前=之前,
刷新= 0
)
输出对象模拟
从上一个抽签预测分布。sim$结果
有结果抽奖,并且sim$参数
具有参数绘制。模拟$模型矩阵
具有模型矩阵,并且sim$模型
已满业务风险管理系统
模型拟合对象。你可以通过sim$模型
到来自的函数业务风险管理系统
和贝叶斯图
例如pp_检查()
.
姓名(模拟)
#>[1]“data”“model”“model_matrix”“outcome”“parameters”
此外,sim$数据
有原件的副本数据集,但结果变量取自先验预测分布。此外,缺失模式自动应用,以便sim$data$响应
是NA_批准_
无论何时缺少sim$data$
等于真的
.
模拟$数据
#>#A桥:800×9
#>响应缺失组时间患者生物标记1生物标记2状态1状态2
#><dbl><lgl><chr><chr><dbl><dbl><chr><chr
#>1-0.0490 FALSE group_1 time_1患者…0.328-0.655存在缺失
#>2 NA TRUE组_1 time_2患者…0.328-0.655不存在
#>3 NA TRUE组_1时间_3患者…0.328-0.655不存在
#>4 NA TRUE group_1 time_4患者…0.328-0.655不存在
#>5 7.19 FALSE group_1 time_1患者…1.04-0.779缺席
#>6 3.18 FALSE group_1 time_2患者…1.04-0.779缺席
#>7 NA TRUE组_1 time_3患者…1.04-0.779缺失
#>8 NA TRUE组_1 time_4患者…1.04-0.779缺失
#>9 15.6 FALSE group_1 time_1患者…0.717-0.954不存在
#>10 0.203假组_1时间_2患者…0.717-0.954存在-不存在
#> # ℹ 还有790行
后面的
业务风险管理系统
支持后验预测模拟和检查功能后期或预测()
,后_epred()
、和pp_检查()
。这些可以与业务风险管理系统
模型拟合对象brm_model()
或来自brm_simulate_prior()
.
数据<-模拟$数据
公式<- brm公式(数据=数据)
模型<- brm模型(数据=数据,公式=公式,刷新= 0)
输出_绘图<- 后预测(对象=型号)
返回的结果_图纸
对象是一个数字数组后验预测绘制,每次绘制一行,每次绘制一列原始数据中未缺失的观测值(行)。
字符串(结果_图纸)
#>编号[1:4000,1:659]11.742 0.536 0.686-8.36-6.803。。。
昏暗的(数据)
#> [1] 800 9
总和(!国际标准编号(数据$响应))
#> [1] 659