模拟CorrMix

的目标SimCorrMix公司是生成连续的(正态、非正态或混合分布)、二进制、序数和count(泊松或负二项式、正则或零膨胀)变量使用指定的相关矩阵,或使用混合物分布。此包可用于模拟数据集模拟真实临床或遗传数据集(即等离子体,如Vaughan等人,2009年,doi:10.1016/j.csda.2008.02.032). 这些方法扩展了那些发现于SimMultiCorrData(模拟多重校正数据)包裹。标准具有强制中间相关矩阵的正态变量为转换以生成所需的分布。连续变量使用Fleishman(1978)的三阶模型进行模拟(doi:10.1007/BF02293811)或海德里克(2002)的第五阶(doi:10.1016/S0167-9473(02)00072-5)功率法转换(PMT)。非混合分发要求用户指定平均值、方差、偏度、标准峰度,以及标准化的第五和第六累积量。混合物分布要求成分分布和混合的这些输入概率。模拟发生在组件级别,用于连续混合物分布。目标相关矩阵在与连续混合变量组分的相关项。这些成分被转换为所需的混合变量使用基于混合概率的随机多项式变量。然而,该包提供了用于确定预期给定目标相关性的连续混合变量相关性使用组件。二进制和序数变量使用修改GenOrd-package的ordsample函数。计数变量为使用逆CDF方法进行模拟。有两种模拟计算涉及计数的中间相关性的途径变量不同。相关方法1适应Yahav和Shmueli的2012方法(doi:10.1002/asmb.901)并且在大量数据中表现最佳可变平均值和正相关或小平均值和负相关相关性。相关方法2改编Barbiero和法拉利2015年对GenOrd公司包装(doi:10.1002/asmb2072)和在相反的情况下表现最佳。可选错误循环可能用于提高最终相关矩阵的准确性包中还包含计算标准累积量的函数连续混合分布,检查参数输入,计算可行的相关边界,并绘制模拟变量。

此套餐附带几个小插曲帮助用户理解模拟和分析方法。

  1. 相关方法1和2的比较描述了可遵循的两种模拟路径生成相关数据(使用科尔瓦尔校正2)。

  2. 连续混合物分布演示如何使用模拟一个连续混合变量contmixvar1型并为将模拟分布与目标分布进行比较。

  3. 连续变量的期望累积量和相关性混合变量导出函数使用的方程计算混合矩(_M)求平均值、标准偏差、偏差,标准峰度,以及a的标准化第五和第六累积量连续混合变量。小插曲还解释了功能ρ_M1平方米rho_M1Y计算基于目标与成分的相关性。

  4. 生成关联的总体工作流数据给出了一个循序渐进的指导方针,以供遵循包含连续非混合物和混合物,有序,零膨胀泊松和零膨胀负二项式变量。它执行这两种操作有误差和无误差的相关数据模拟函数循环。

  5. 变量类型描述了不同类型的可以在中模拟的变量模拟CorrMix,详细信息可选错误循环中的算法有助于最小化相关误差,并解释了可行的相关边界为两条模拟路径中的每一条计算(使用validcorr公司有效密码2)。

安装说明

模拟CorrMix可以使用以下方法进行安装代码:

##来自GitHub
安装.包(“开发工具”)
开发工具::安装github(“AFialkowski/SimCorrMix”,构建渐晕图= 真的)

##来自CRAN
安装.包(“SimCorrMix”)

例子

这是一个基本示例,它向您展示了如何解决常见问题问题:

Headrick和Kowalchuk的脚步(2007年,网址:10.1080/10629360600605065)比较理论密度的模拟变量已修改为适应连续混合分布。组件分布是正常(-2,1)正常(2,1). The混合比例为0.4和0.6。

步骤1:获取标准累积量

的值γ1, γ2, γ,γ4正态变量均为0。平均值和混合变量的标准偏差用计算_混合矩.

图书馆(“SimCorrMix”)
#>加载所需包:SimMultiCorrData
#>
#>附加包:“SimMultiCorrData”
#>以下对象已从“package:stats”中屏蔽:
#>
#>聚乙烯
图书馆(“打印机”)
选项(科学笔= 999)
n个<- 10000
混合像素<- c(c)(0.4,0.6)
混合(_M)<- c(c)(-2,2)
混音_符号<- c(c)(1,1)
混合扭曲(_S)<- 代表(0,2)
mix_skurts(混合色)<- 代表(0,2)
混合(_F)<- 代表(0,2)
混合_混合<- 代表(0,2)
Nstcum公司<- 计算_混合矩(mix_pis、mix_mus、mix_sigmas、mix_skews、,
mix_skurts、mix_fifths、mix_sixths)

步骤2:模拟变量

请注意计算_混合矩返回标准偏差,而不是方差。模拟函数需要方差作为输入。首先,使用检查参数输入有效票面价值.

有效票面价值(k _混合= 1,方法= “多项式”,手段=Nstcum公司[1],
  变量=Nstcum公司[2]^2,混合像素=混合像素,混合(_M)=混音(_M),
  混合_西格玛=混合塞格玛,混合桶(_S)=混合扭曲,mix_skurts(混合色)=mix_ skurts,
  混合(_F)=mix_fifths,混合_混合=混合_混合)
#>[1]正确
N混合2<- contmixvar1型(编号:,“多项式”,Nstcum公司[1],Nstcum公司[2]^2、mix_pis、mix_mus、,
mix_sigmas、mix_skews、mix_skurts、mix_fifths和mix_sixths)
#>总模拟时间:0.002分钟

查看目标分发的摘要并与摘要进行比较模拟分布。

总和N<- 汇总_var(Y_压缩机=N混合2$Y_压缩机,Y轴(_M)=N混合2$Y_混合,
  手段=Nstcum公司[1],变量=Nstcum公司[2]^2,混合像素=混合像素,混合(_M)=混音(_M),
  混合_西格玛=混合塞格玛,混合桶(_S)=混合扭曲,mix_skurts(混合色)=mix_ skurts,
  混合(_F)=mix_fifths,混合_混合=混合_混合)
针织物::卡布尔的(总和N$目标_混合,数字= 5,行名称= 错误的,
  标题= “目标分布摘要”)
分发 平均值 标准偏差 倾斜 皮肤病 第五 第六名
1 0.4 2.2 -0.2885 -1.15402 1.79302 6.17327
针织物::卡布尔的(总和N$mix_sum(混合_总和),数字= 5,行名称= 错误的,
  标题= “模拟分布摘要”)
分发 N个 平均值 标准偏差 中值的 分钟 马克斯 倾斜 皮肤病 第五 第六名
1 10000 0.4 2.19989 1.05078 -5.69433 5.341 -0.2996 -1.15847 1.84723 6.1398

第三步:确定常数是否生成有效的PDF

N混合2$常数
c0 c1级 二氧化碳 c3(立方厘米) 补体第四成份 c5级
0 1 0 0 0 0
0 1 0 0 0 0
N混合2$有效.pdf
#>[1]“真”“真”

步骤4:选择关键价值

α = 0.05. 由于没有分位数函数混合物分布,确定累积概率等于1 − α = 0.95. 的边界单根通过反复试验确定。

外汇<- 功能(x)0.4 * 数据形式(x,-2,1)+ 0.6 * 数据形式(x,2,1)
cfx(立方英尺)<- 功能(x,α,乐趣=外汇){
  整合(功能(x,乐趣=外汇)乐趣(x) ,-Inf公司,x,细分= 1000,
    停止.打开.错误= 错误的)$价值-(1 -阿尔法)
}
y_star公司<- 单根(cfx,c(c)(3.3,3.4),托尔= 0.001,阿尔法= 0.05)$
y_星
#> [1] 3.382993

步骤5:计算模拟变量的累积概率1 − α

我们将使用该函数SimMultiCorrData::sim_cdf_prob确定Y(Y)高达y_star公司。此函数基于Martin Maechler的电子数据流功能[@统计信息].

sim_cdf_prob(模拟(_y)=N混合2$Y_mix[,1],三角洲=y_star)$累积_prob
#> [1] 0.9504

这大约等于1 − α值0.95,指示该方法提供很好地近似于实际分配。

步骤6:绘图

plot_simpdf理论(模拟(_y)=N混合2$Y_mix[,1],伊洛尔= -10,雅珀= 10,
  标题= “正态分布混合的PDF”,外汇=外汇,较低= -Inf公司,
  上部= Inf公司)

我们还可以绘制经验cdf并显示累计概率高达ystar。

plot_sim_cdf图(模拟(_y)=N混合2$Y_mix[,1],计算问题= 真的,三角洲=y_star)