WFMM.
隐藏的行 |
对于表布局 |
描述 |
实现基于马尔可夫链蒙特卡罗(MCMC)贝叶斯小波的函数混合模型 |
语言 |
c++ |
当前版本 |
1.0 |
平台 |
窗户 |
地位 |
不活跃的 |
最后一次更新 |
2005-04-15 |
新闻 |
截至2016年7月/ 8月,基于领域和发表年份的高被引阈值,这篇高被引论文的被引量足以使其进入数学学术领域的前1%。 |
引用 |
Morris JS, & Carroll RJ。(2006)。基于小波的函数混合模型。皇家统计学会学报:B辑(统计方法),68,179-199。http://dx.doi.org/10.1111/j.1467-9868.2006.00539.x |
WFMM:基于小波的功能混合模型
该代码实现了Markov链Monte Carlo(MCMC)基于MARTIS和Carroll(2004)纸的第5节中描述的基于基于基于MACTERIAD的功能混合模型程序。程序本身在Windows命令提示符界面中运行。它将Matlab文件作为输入,并输出许多型号的后样量。
包
wfmm.exe.:主可执行文件。
不同的DLL文件:需要运行wfmm.exe
下载
您可以下载该软件包在这里。
系统需求
需要至少Windows XP运行。
文档
我们很抱歉,这个初始文件是不完整的。在不久的将来,将提供更广泛的文档,以及用于从该程序的MCMC输出执行一些最常用的贝叶斯估计、推断和预测过程的脚本。我们还计划为这个程序开发一个R接口,当它准备好时,我们也会发布。
示例程序调用(来自DOS窗口)
WFMM C:\ Work \ Input.mat outputm.mat> log_file.log
该程序需要输入文件(呼叫中的“inputmat”),该文件是包含以下对象的MATLAB文件:
- Y: N × T矩阵,每一行包含一个在长度为T的等距网格上观察到的函数
- 模型:Matlab结构表示模型细节。该结构需要包含以下元素:
- X: N-by-p矩阵,包含模型中p固定效应函数所需的协变量。
- Hstar:整数,表示随机效应函数的级别
- Z{h}, h=1,…,h: N-by-mh矩阵包含每一组随机效应函数的协变量。
- 仅在此处包含以下三个变量
- covq = 2
- covs = 2
- Covt = 1
这些是对不同方式进行建模的一些探索的文物 - 很快就会从代码中删除,但现在他们仍然存在并且必须包括在内。
- WaveScs:Matlab结构描述要使用的小波设置。必须包括以下元素:
- 小波:文本字符串,表示使用的小波基。在Matlab工具箱中使用小波基的缩写。可用的基地名单将在未来的文件中提供。
- Nlevels:表示分解层次数的整数
- 边界:假定边界校正方法('反射'默认)
- MCMCSPECS:描述MCMC详细信息的MATLAB结构。必须包括以下元素:
- b =获得MCMC样本的数量
- 伯恩=烧伤长度
- 瘦=稀释参数;例如,如果是10,则每10个样本保存在MCMC中
- propvarTheta= MCMC第2步中方差分量在提案方差中使用的var(MLE)的倍数,默认为1.5
- Nj_nosmooth =我们想要模糊先验(无平滑)的最低频率小波阶数
以下参数仅为数值稳定性:
- Minp =任何pij的最小值,默认为10-14
- mint = tij的最小值,默认为1
- 当模糊的先验期望时(没有平滑),bigT=用于Tij的值
- maxO =最大优势比,默认为1020(防止溢出)
- minvc =缺差组件的最小值,默认为10-6(防止vander的vanderiance分量的不稳定性)
- vc0_thresh =重要方差组件的最小大小(默认情况下= minvc)
- delta_theta = prior on theta的倍数:prior中的“信息数据集的数量”(参见Morris等人2003 JASA中的讨论),默认为10-4。
- thetaMOM_maxiter =寻找方差组件MOM起始值的最大迭代次数,默认为100
- tamom_convcrit =收敛准则的迭代过程,寻找MOM初始值的方差成分,默认10-3
输出
程序的输出是MATLAB数据文件(在示例呼叫中的“OUTPUTMAT”),包含以下MATLAB对象以及日志文件。
- y,model,wavescs,mcmcspecs:作为输入
- D:矩阵包含观察到数据的小波系数
- PI:包含PIJ的矩阵,由纸张第4.4节中描述的经验贝叶斯程序估计。
- Tau:由Morris和Carroll(2004)第4.5节中描述的经验贝叶斯过程包含Tij的矩阵。
- THETA_MOM:包含模型(3)中的小波空间方差分量QJK和SJK的矩的矩阵的方法。
- THETA_MLE:矩阵包含虚拟空间方差分量的概要最大似然开始值。
- se_theta:估计莫尔斯和卡罗尔第5节第2节第2节第2步(2004)第2节中描述的大都会 - 黑斯汀程序中的自动提案差异的估计
- Betans:矩阵包含用于在Morris和Carroll(2004)中的等式(6)给出的方差分量开始值的固定效果调节的小波系数的非缩小估计。
- Vbetans:包含这些小波间隔估计的方差的矩阵,由Morris和Carroll(2004)中的方程(7)给出。
- alpha:矩阵包含用于固定效果函数的小波系数的缩收的起始值,这是它们是“非零”的后验概率。veta_mle for veriance组件的条件。
- Betahat:Betans * Alpha;β的收缩起始值。
- priare_theta_a,priare_theta_b:包含前伽马分布的先前封立参数的矩阵,用于小波空间方差分量
- WV:用于每个小波系数的结构,使用以下统计数据,使用用于SJK的方差分量的起始值
- xvx = x'(sjk)-1x
- xvz = x'(sjk)-1z
- XvD = X”(Sjk) 1 d
- zvz = z'(sjk)-1z
- zvd = z'(sjk)-1d
- DVD = DIAG(D'(SJK)-1D)
- l1 = det(sjk)
- L2 =(DJK-X BJK)'(SJK)-1(DJK-X BJK)
- MCMC_wbeta:固定效应小波系数包含MCMC后验样本的矩阵。每一行包含所有B*ijk, i=1,…,p, j=1, .., J, k=1,…,Kj,对MCMC的一次迭代。
- MCMC_beta:数据空间固定效应函数中包含MCMC后验样本的矩阵。每一行包含Bij, i=1,…,p, j=1,…,T,对MCMC进行一次迭代。
- MCMC_theta:小波空间方差分量包含MCMC后验样本的矩阵。每一行包含{qhjk, h=1,…,h, sjk},按此顺序,for j=1,…,j, k=1,…,Kj
- Paccept_newtheta:向量,包含每个小波系数方差分量集的Metropolis-Hastings接受概率,由尺度j和位置k索引。
- ghat:包含每个固定效应函数的后验均值的p-by-T矩阵。
- Q05_ghat:包含每个固定效应函数点态0.05分位数的p-by-T矩阵,它是90%后验可信区间的下界。
- Q95_GHAT:P-BY-T矩阵,包含点的点,用于每个固定效果函数的点,这是90%后验证间隔的上限。
- 此代码已编译并在Microsoft Windows系统上使用。在不久的将来,我们也将在Linux上测试它。
- 当前界面假定您创建输入文件并希望在MATLAB中的输出文件进行后处理。我们将在不久的将来为此程序编写R包装器,并在我们的网站上发布它。
- 当前版本的代码假定:
- 您希望使用经验贝叶斯方法估算收缩覆盖物。
- 您希望为方差分量模糊的Preciors,以启动值为中心,其具有相当于Delta_theta观测的信息。
- 随机效应函数是独立且同分布的,所以P=R=I
未来版本的代码将允许用户指定收缩超参数和方差成分的先验,也将允许其他协方差结构上的随机效应函数。
- 该代码为小波空间模型(3)中的量生成MCMC样本,并为数据空间模型(2)中的固定效应函数B生成MCMC样本。
- Qh和Si矩阵的MCMC样本可以通过对相应的对角小波空间矩阵应用二维IDWT得到。它们在默认情况下不会生成,因为它们通常不是直接相关的,而且它们的大尺寸会导致大型数据集的内存问题。我们目前正在编写代码,以更有效的方式计算和存储这些矩阵的对角元素。这些对角线元素对于某些用途非常有用,我们将在以后的出版物中讨论。
- 默认不计算随机效应函数的MCMC样本及其小波系数,再次节省内存和计算资源。我们有matlab脚本来计算这些,我们正在转换到C的过程中,并将张贴一旦他们完成。
- 我们对MCMC的后验样本进行后处理以进行各种贝叶斯推断的脚本是在Matlab中编写的。我们正在将其中一些转换为C语言,届时它们将与文档一起发布。
- 如果可用的并行处理可用 - 则可以将MCMC步骤并行化 - 在适当时期将发布代码的并行处理版本。
- 对于极大的数据集,可能需要计算拟合其数据的内存要求,并将其与机器的功能进行比较。同样,未来的文件将在此提供指导方针。
- 这个方法有很多扩展和改进,请继续关注更新后的代码。
参考
莫里斯,JS和Carroll,RJ(2004)。
基于小波的功能混合模型,德克萨斯州德克萨斯大学安德森大学博士癌症中心生物统计学系及应用数学系技术报告,UTMDABTR-006-04。