加入新推出的
Discord 社区,展开实时讨论,获得同行支持,并直接与 Meridian 团队互动!
通过分布系列的组合设置自定义先验
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Meridian 提供了一个自定义分布对象 (prior_distribution.IndependentMultivariateDistribution
),可让您将多个系列的分布组合成一个先验分布。例如,您可能希望使用对数正态分布为三个媒体渠道定义投资回报率先验,并使用半正态分布为第四个媒体渠道定义投资回报率先验:
import tensorflow_probability as tfp
distributions = [
tfp.distributions.LogNormal([0.2, 0.2, 0.2], [0.9, 0.9, 0.9]),
tfp.distributions.HalfNormal(5),
]
roi_m_prior = IndependentMultivariateDistribution(distributions)
prior = PriorDistribution(roi_m=roi_m_prior)
model_spec = ModelSpec(prior=prior)
meridian_model = Meridian(
input_data = # an `InputData` object
model_spec=model_spec,
)
您可能会发现运行时间略有延长,这是因为 IndependentMultivariateDistribution
会在底层将张量拆分并委托给其子分布。在使用 IndependentMultivariateDistribution
之前,请考虑在渠道之间(但在同一分布系列内)改变参数是否会有帮助,或者使用其他分布系列是否会更好。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-25。
[null,null,["最后更新时间 (UTC):2025-08-25。"],[],[],null,["Meridian offers a custom distribution object\n([`prior_distribution.IndependentMultivariateDistribution`](/meridian/reference/api/meridian/model/prior_distribution/IndependentMultivariateDistribution))\nthat lets you combine\ndistributions from multiple families into one prior distribution. For example,\nyou might want to use LogNormal distributions to define an ROI prior for three\nmedia channels and a HalfNormal prior for a fourth: \n\n import tensorflow_probability as tfp\n from meridian.model import prior_distribution\n\n distributions = [\n tfp.distributions.LogNormal([0.2, 0.2, 0.2], [0.9, 0.9, 0.9]),\n tfp.distributions.HalfNormal(5),\n ]\n\n roi_m_prior = prior_distribution.IndependentMultivariateDistribution(distributions)\n prior = PriorDistribution(roi_m=roi_m_prior)\n model_spec = ModelSpec(prior=prior)\n\n meridian_model = Meridian(\n input_data = # an `InputData` object\n model_spec=model_spec,\n )\n\nYou might see slightly longer runtimes because\n`IndependentMultivariateDistribution` splits and delegates tensors under the\nhood to its child distributions. Before you use\n`IndependentMultivariateDistribution`, consider if varying the parameters\nbetween channels, but within the same distribution family, would help, or if\nusing a different distribution family is better."]]