从理论到实操:贝叶斯方法如何赋能现代渔业研究
1. 不确定性海洋中的范式转移
1.1 渔业资源评估的认知困境
渔业科学,就其本质而言,是一门在极度不确定性条件下进行推断与决策的学科。与工业生产或实验室科学不同,渔业资源(Fish Stocks)隐藏于水下,无法被直接盘点。科学家必须通过“渔获量”(Catch)、“单位捕捞努力量渔获量”(CPUE)以及零散的生物学采样数据,试图重构种群的历史动态并预测未来趋势。这一过程面临着多重挑战:数据往往充满观测误差(Observation Error),生物过程本身具有随机性(Process Error),而描述种群动态的数学模型(如Schaefer模型或Beverton-Holt模型)又仅是对复杂生态现实的简化。
在20世纪的大部分时间里,频率学派(Frequentist)统计方法——尤其是最大似然估计(MLE)——主导了渔业评估领域。然而,随着评估模型向高维参数和复杂结构演进,频率学派方法逐渐暴露出其局限性。例如,当数据匮乏(Data-poor)时,MLE往往无法收敛,或者产生生物学上不合理的参数估计(如负的生物量或无穷大的种群增长率)。更为关键的是,传统的置信区间难以直接回答渔业管理者最关心的风险问题:“如果我们将捕捞限额设定为X吨,种群崩溃的概率究竟是多少?”。
1.2 贝叶斯方法的崛起与核心优势
面对这些挑战,贝叶斯方法(Bayesian Methods)在过去三十年间逐渐从边缘走向核心,引发了渔业科学的“贝叶斯革命”。这种范式转移并非仅仅是计算技术的更迭,更是认识论层面的飞跃。贝叶斯框架允许科学家将“先验知识”(Prior Knowledge)——无论是来自其他相似物种的元分析数据,还是资深渔民的经验——正式纳入数学模型中。
贝叶斯方法在渔业中的核心优势可以归纳为三个维度:
- 「概率的直观解释与风险量化」:贝叶斯推断产生的后验分布(Posterior Distribution)能够直接赋予假设以概率意义。例如,它能明确指出“生物量低于最大可持续产量生物量()的概率是30%”。这种表达方式与决策分析(Decision Analysis)无缝对接,使得管理者能够基于明确的风险偏好制定政策。
- 「不确定性的完整传递」:在复杂的评估模型中,参数之间往往存在高度相关性。贝叶斯方法通过马尔可夫链蒙特卡洛(MCMC)采样,能够捕捉参数的联合分布,从而将生长参数、自然死亡率等输入参数的不确定性,完整地传递到最终的管理参考点(如总允许捕捞量TAC)中,避免了传统方法中“逐步估计”导致的不确定性低估。
- 「信息整合能力」:对于大量缺乏长期调查数据的中小规模渔业,贝叶斯方法允许借用“信息富集”物种的参数作为先验(例如使用FishBase中的生长参数),从而实现对数据贫乏种群的有效评估。这种“借力”(Borrowing Strength)的特性使得全球渔业评估的覆盖范围得以大幅扩展。
2. 贝叶斯推断的理论基础与数学架构
2.1 贝叶斯定理在渔业动力学中的映射
在渔业模型的语境下,贝叶斯定理可被形式化地表述为:
其中:
- 「 (参数向量)」:代表描述鱼类种群状态和动力学的未知参数集合,包括环境容纳量 ()、内禀增长率 ()、初始生物量比 ()、捕捞死亡率 () 以及观测误差方差 () 等。
- 「 (数据)」:包括历年的渔获量时间序列 ( )、相对丰度指数 (, 如CPUE) 以及体长或年龄组成数据。
- 「 (似然函数)」:描述了在假设参数 已知的情况下,观测到当前数据 的概率。这通常涉及对观测过程的假设,例如假设CPUE服从对数正态分布。
- 「 (先验分布)」:这是贝叶斯分析的灵魂,代表在观测到数据 之前,我们对参数 的认知信念。
- 「 (后验分布)」:这是评估的终极目标,融合了数据信息与先验信念后的参数概率分布。
2.2 先验分布的构建:科学与艺术的平衡
在渔业评估中,先验的选择极其敏感,必须基于坚实的生物学基础。
2.2.1 陡度 (Steepness, ) 的先验困境
在基于年龄结构的评估模型(如Stock Synthesis)中,种群-补充量关系(Stock-Recruitment Relationship, SRR)的陡度参数 描述了当产卵群体生物量减少到未开发水平的20%时,补充量相对于未开发补充量的比例。 决定了种群在低密度下的恢复能力,是计算 的关键。
然而,仅凭单一鱼种的渔获数据往往难以准确估计 ,因为数据通常缺乏足够的对比度(即缺乏在极低和极高生物量下的观测)。因此,行业标准做法是构建元分析先验(Meta-analytic Priors)。科学家会收集全球同科或同属物种的 值,拟合出一个Beta分布作为当前评估物种的先验。例如,对于岩鱼(Rockfish),通常设定 ,均值为0.71。
2.2.2 自然死亡率 () 与内禀增长率 ()
对于数据贫乏物种,内禀增长率 的先验通常基于生活史理论(Life History Theory)。通过分析寿命、成熟年龄和生长系数 (),可以使用 R 包如 FishLife 来生成 的多变量对数正态先验。这种做法不仅解决了模型的可识别性问题,还确保了参数估计在生物学上的合理性。
2.3 状态空间模型(State-Space Models):分离过程与观测误差
现代贝叶斯渔业评估的一个标志性进展是**状态空间模型(SSM)**的广泛应用。传统的观测误差模型假设种群动态是确定性的,所有变异都来自观测过程。这往往低估了种群的自然波动。SSM同时对两个随机过程建模:
过程方程(Process Equation):描述不可观测的真实生物量 的动态,包含过程误差 (如环境波动导致的生长或补充量异常)。
其中 是种群增长函数(如Schaefer函数:)。
观测方程(Observation Equation):描述观测指数 与真实生物量 的关系,包含观测误差 。
这种双重随机结构使得模型能够区分“不仅仅是我们数错了(观测误差),而是鱼群数量确实因为环境发生了波动(过程误差)”。贝叶斯框架(尤其是结合卡尔曼滤波或MCMC)是求解此类模型的最佳工具。
3. 核心应用领域一:贝叶斯资源评估模型
3.1 贝叶斯生物量动态模型(Bayesian Biomass Dynamic Models)
对于缺乏年龄结构数据的渔业(全球大部分中小型渔业),生物量动态模型(亦称剩余产量模型)是评估的主力。
3.1.1 模型演进:从ASPIC到JABBA
早期的频率学派软件如ASPIC在处理过程误差时存在困难。随着计算能力的提升,贝叶斯状态空间工具如「JABBA (Just Another Bayesian Biomass Assessment)」 应运而生。JABBA 不仅是一个R包,更是一个标准化的评估框架。
- 「功能特性」:JABBA 能够自动处理多条相互冲突的CPUE时间序列,通过估计额外的方差参数来客观赋予不同数据源权重。它内置了Schaefer、Fox、Pella-Tomlinson等多种生产函数,并能生成Kobe图(Kobe Plot)直观展示种群状态轨迹。
- 「应用实例」:在南大西洋剑鱼(South Atlantic Swordfish)的评估中,JABBA 被用来整合各国长延绳钓的CPUE数据。模型诊断显示,某些国家的CPUE序列存在强烈的时间趋势冲突,贝叶斯分层结构通过膨胀观测误差方差,自动降低了离群数据的影响,从而得出了更为稳健的TAC建议。
3.1.2 连续时间模型:SPiCT
另一种前沿路径是「连续时间随机生产模型(SPiCT, Stochastic Production Model in Continuous Time)」。与基于年度步长的离散模型不同,SPiCT基于随机微分方程(SDE)。
- 「优势」:SPiCT可以处理任意时间间隔的数据。例如,渔获量是按年的,但科学调查是按季度的,或者某些年份缺失。传统的离散模型需要对数据进行插值或聚合,而SPiCT可以直接拟合原始数据。
- 「技术实现」:SPiCT使用「TMB (Template Model Builder)」 库,基于拉普拉斯近似(Laplace Approximation)而非MCMC,因此计算速度极快,适合进行大规模的各种群批量评估。
3.2 长度及其数据受限方法(Length-Based Bayesian Methods)
在许多发展中国家的渔业中,甚至连准确的渔获量统计都没有,只有零散的体长频率数据(Length-Frequency Data)。
- 「LBB (Length-Based Bayesian) 方法」:由Froese等人开发,LBB 仅需体长数据即可估算 (渐进体长)、(首次捕捞体长)以及 的状态。
- 「应用实例」:在西北太平洋的太平洋沙丁鱼(Sardinops sagax)和日本鯖(Scomber japonicus)评估中,研究人员使用LBB方法分析了多年的体长数据。结果显示,尽管缺乏总渔获记录,但通过体长结构的变化(大个体比例的波动),LBB成功反演了捕捞死亡率 的趋势,并判定太平洋沙丁鱼处于健康状态(),而无需昂贵的资源调查。
3.3 综合统计年龄结构模型(Integrated Age-Structured Models)
在数据丰富的渔业中(如阿拉斯加狭鳕、大西洋蓝鳍金枪鱼),使用包含年龄、体长、标记重捕等多种数据的综合模型(如Stock Synthesis 3, SS3)。贝叶斯方法在此类模型中用于:
- 「数据加权」:平衡由于样本量巨大而导致的成分数据(Composition Data)权重过高问题。
- 「选择性曲线(Selectivity Curves)」:利用随机游走(Random Walk)先验来模拟随时间变化的渔具选择性。
- 「参数后验采样」:通过MCMC(通常需运行数百万次迭代)来获得关键管理参数的置信区间。
4. 核心应用领域二:CPUE 标准化与时空统计
原始的CPUE数据往往充满偏差,受船只马力、渔具改进、作业地点变化等因素影响。贝叶斯广义线性模型(GLM)和广义加性模型(GAM)是去除这些干扰、提取真实资源丰度信号的标准工具。
4.1 贝叶斯分层模型(Hierarchical Models)处理船只效应
在商业渔业中,船队结构不断变化。如果将每艘船作为固定效应处理,会消耗大量自由度且对新入渔船只无效。贝叶斯分层模型将“船只效率”(Vessel Power)视为随机效应(Random Effect),假设其服从某个正态分布:
这种方法通过“借力”效应,使得即使是数据稀少的船只也能得到合理的效率估计,从而更准确地标准化CPUE序列。
4.2 空间显式模型:从GLM到GMRF
传统的GLM忽略了空间自相关性(Spatial Autocorrelation)。然而,鱼群分布具有明显的空间聚集性。贝叶斯空间模型利用**高斯马尔可夫随机场(GMRF)**来模拟潜在的空间过程。
- 「R-INLA (Integrated Nested Laplace Approximation)」:这是处理此类问题的核心工具。它通过随机偏微分方程(SPDE)方法,将连续的空间场离散化为三角网格(Mesh),从而极快地计算复杂的时空协方差结构。
- 「应用实例」:在长鳍金枪鱼(Albacore)的CPUE标准化中,研究人员构建了一个包含时空交互项(Spatio-temporal Interaction)的模型。结果表明,考虑了空间效应的模型(使用INLA或VAST)比传统GLM能更好地解释CPUE的变异,揭示了捕捞热点随海洋环境(如海表温度SST)变化的动态轨迹。
- 「混合模型(Mixture Models)」:针对某些渔业中目标鱼种不明确的问题,贝叶斯混合模型(如使用
Flexmix 包)可以根据渔获组成将作业航次聚类(Cluster),从而识别出针对特定鱼种的“定向捕捞”努力量,进一步提纯CPUE信号。
5. 核心应用领域三:生态系统建模与多物种相互作用
随着“基于生态系统的渔业管理”(EAFM)理念的普及,单一物种模型已不足以应对复杂的生态现实。贝叶斯方法为整合多源、异质的生态数据提供了理想框架。
5.1 多物种剩余产量模型(Multispecies Surplus Production Models)
传统的SPM假设环境容纳量 是常数,忽略了捕食与竞争。贝叶斯多物种模型(如 multispic)引入物种间的相互作用系数(类似Lotka-Volterra方程):
- 「推断挑战与突破」:此类模型参数极多,很难通过MLE估计。贝叶斯方法通过对相互作用系数 设定基于食性分析(Diet Analysis)的强先验,使得模型变得可识别。
- 「案例研究」:在加拿大东海岸底层鱼类群落的研究中,应用状态空间多物种生产模型揭示了惊人的结果:主要商业鱼类(如鳕鱼)的同步崩溃并非完全由过度捕捞导致,而是存在强烈的、跨物种的共同过程误差(Common Process Error),这暗示了大规模环境驱动因子(如水温体制转换)的主导作用。这一发现对管理策略产生了深远影响,强调了环境监测的重要性。
5.2 贝叶斯信念网络(Bayesian Belief Networks, BBN)
当缺乏定量的生态监测数据,但存在大量专家知识或定性描述时,BBN是一种强大的工具。它是有向无环图(DAG),节点代表变量,边代表因果依赖关系。
- 「结构与应用」:例如,在评估大坝建设对鲑鱼(Salmon)垂钓质量的影响时,科学家构建了一个包含“水质”、“大型无脊椎动物丰度”、“鱼类状况”等节点的BBN。由于缺乏长期数据,节点间的条件概率表(CPT)部分基于专家访谈(Expert Elicitation)填充。
- 「情景模拟」:模型构建后,可以进行正向推理:“如果水质变差(Evidence),鲑鱼垂钓体验下降的概率是多少?”;也可以进行反向诊断:“观测到鱼群状况差,最可能的原因是什么?”。
6. 核心应用领域四:管理策略评估(MSE)与决策分析
管理策略评估(Management Strategy Evaluation, MSE)是利用计算机模拟来测试不同管理规则(Harvest Control Rules, HCR)在面对不确定性时的表现。贝叶斯方法在MSE中扮演着双重角色。
6.1 贝叶斯操作模型(Operating Models, OM)的构建
MSE的核心是“操作模型”(OM),它代表了“虚拟的真实世界”。为了确保模拟的稳健性,OM必须涵盖所有合理的生物学假设。贝叶斯后验分布天然地提供了参数的不确定性范围。在MSE中,科学家直接从后验分布中抽取成千上万组参数组合,每一组代表一个可能的“真实世界”,然后在这些世界中分别运行管理程序。
- 「案例:南方蓝鳍金枪鱼(Southern Bluefin Tuna, SBT)」:SBT的管理程序(名为“开普敦程序”,Cape Town Procedure)是全球最复杂的MSE案例之一。其OM基于一个复杂的统计年龄结构模型,通过贝叶斯方法整合了标记重捕、基因标记(Gene-tagging)和近亲遗传(Close-kin genetics)数据。MSE测试了多种HCR在不同招募假设下的表现,最终选择了一个能够以高概率实现2035年生物量恢复目标的策略。
6.2 决策表(Decision Tables)与概率化建议
不同于给出一个单一的配额建议(如“明年捕捞1000吨”),贝叶斯评估允许生成决策表,展示不同管理行动下的风险概率:
| 「总允许捕捞量 (TAC)」 | 「5年后 B<0.2B0 的概率」 | 「长期产量最大化的概率」 |
|---|
| | |
| | |
| | |
这种展示方式(如在新西兰Hoki渔业评估中的应用)极大地提高了科学建议的透明度,将风险权衡的责任交还给了管理者,符合预警原则(Precautionary Approach)的要求。
7. R语言生态系统中的贝叶斯工具箱:代码与实践
本节将详细介绍实现上述模型的关键R包,并提供代码逻辑示例。
7.1 JABBA: 贝叶斯生物量动态模型标准工具
JABBA 封装了 JAGS 代码,使得非编程专家也能运行复杂的状态空间模型。
「应用场景」:利用渔获量和CPUE数据评估种群状态。
# --- JABBA 代码逻辑示例 ---
# 1. 准备数据
# data 包含 Year, Catch, CPUE, SE (可选)
library(JABBA)
# 2. 构建 JABBA 输入对象
# 设定模型类型 (Schaefer, Fox, Pella)
# 设定 assessment 名称和 scenario
jabba_input <- build_jabba(
catch = df_catch,
cpue = df_cpue,
model.type = "Schaefer",
assessment = "Tuna_Assessment",
scenario = "Base_Case_2024"
)
# 3. 设定先验 (关键步骤)
# 假设 r 的先验为对数正态分布,均值 0.4,CV 0.2
jabba_input$priors$r <- c(0.4, 0.2)
# 假设 K 的先验为对数正态分布,均值 200,000吨,CV 0.5
jabba_input$priors$K <- c(200000, 0.5)
# 设定初始生物量比 psi = B_init / K 的先验 (假设开始时未开发)
jabba_input$priors$psi <- c(1.0, 0.1)
# 4. 拟合模型 (调用 JAGS)
# n.chains: 链数, n.iter: 迭代次数, n.burnin: 预烧期
fit <- fit_jabba(
jabba_input,
quickmcmc = FALSE,
ni = 30000,
nt = 5,
nb = 5000,
nc = 3
)
# 5. 诊断与绘图
# 输出 Kobe 图 (展示 B/Bmsy 和 F/Fmsy 的轨迹)
jbplot_kobe(fit)
# 输出残差图,检查 CPUE 拟合情况
jbplot_residuals(fit)
# 打印生物学参考点 (MSY, Bmsy, Fmsy) 的后验摘要
print(fit$ref_points)
代码解析:build_jabba 函数将数据和先验转化为 JAGS 可读的结构。fit_jabba 自动处理 MCMC 采样,包括并行计算。生成的 fit 对象包含了所有参数的后验样本,可用于进一步的风险分析。
7.2 SPiCT: 连续时间随机生产模型
SPiCT 使用 TMB,适合处理季节性或不规则采样数据。
「应用场景」:数据时间间隔不一致,或需要极快计算速度。
# --- SPiCT 代码逻辑示例 ---
library(spict)
# 1. 准备输入列表 inp
# obsC: 渔获量, timeC: 渔获时间 (如 2020.25 代表第一季度)
# obsI: 调查指数, timeI: 调查时间
inp <- list(
obsC = catch_vector,
timeC = catch_times,
obsI = survey_index_vector,
timeI = survey_times
)
# 2. 检查数据并设定默认先验
inp <- check.inp(inp)
# 3. 拟合模型
# SPiCT 自动优化似然函数,无需手动设定 MCMC 参数
res <- fit.spict(inp)
# 4. 结果分析
summary(res)
# 绘制生物量、捕捞死亡率及参考点
plot(res)
# 诊断:计算一步向前预测残差 (One-Step-Ahead Residuals)
# 这是检验状态空间模型拟合优度的金标准
diagnostics <- calc.osa.resid(res)
plotspict.diagnostic(diagnostics)
代码解析:calc.osa.resid 是 SPiCT 的亮点。由于状态空间模型的残差不是独立的,传统的残差分析无效。OSA残差通过卡尔曼滤波计算,若模型正确,OSA残差应服从标准正态分布。
7.3 brms & R-INLA: 贝叶斯回归与空间统计
这两个包用于 CPUE 标准化。
「应用场景」:处理复杂的随机效应和空间自相关。
# --- brms 代码示例 (CPUE 标准化) ---
library(brms)
# 定义模型公式:
# CPUE 服从对数正态分布
# Year, Month 为固定效应
# Vessel 为随机效应 (1|Vessel),处理船只差异
formula <- bf(cpue ~ 0 + year + month + (1|vessel), family = lognormal())
# 设定先验
priors <- c(
set_prior("normal(0, 5)", class = "b"), # 弱信息先验
set_prior("cauchy(0, 2)", class = "sd") # 随机效应标准差先验
)
# MCMC 采样
fit_brms <- brm(
formula = formula,
data = fishery_data,
prior = priors,
chains = 4, iter = 2000
)
# 提取标准化后的年度指数 (Conditioning on average vessel)
conditional_effects(fit_brms, effects = "year")
# --- R-INLA 代码片段 (空间模型) ---
library(INLA)
# 1. 构建三角网格 (Mesh)
# loc: 渔获数据经纬度
mesh <- inla.mesh.2d(loc = coords, max.edge = c(0.5, 1))
# 2. 定义 SPDE 模型 (Matérn 协方差)
spde <- inla.spde2.matern(mesh = mesh, alpha = 2)
# 3. 运行 INLA 模型
# y: 渔获量 (计数数据,负二项分布)
# f(spatial,...): 空间随机场
result <- inla(
formula = y ~ year + f(spatial_node, model = spde),
family = "nbinomial",
data = inla.stack.data(stack),
control.predictor = list(compute = TRUE)
)
代码解析:R-INLA 的代码通常比 brms 复杂,需要构建 Mesh 和 Stack 数据结构,但其在处理大规模空间数据时的速度优势是数量级的(秒级 vs 小时级)。
8. 挑战、前沿与未来展望
8.1 贝叶斯调节(Bayesian Regulation)与仿生管理
未来的贝叶斯应用不仅限于评估,正延伸至实时管理。**贝叶斯调节(Bayesian Regulation, BR)**是一种仿生学概念,模仿动物在不确定环境中觅食的策略。BR系统不进行独立的年度评估,而是实时根据渔获反馈更新先验(Stock Status),动态调整捕捞努力量。模拟显示,这种机制在维持生物量稳定性和减少渔获波动方面优于传统的固定规则,具有类似“白噪声”的稳定特性。
8.2 评估的“民主化”与透明度
长期以来,复杂的评估模型被批评为“黑箱”操作,只有少数数学专家能理解。贝叶斯工具(特别是像JABBA、fishStan这样的封装包)的普及正在打破这一壁垒。通过提供标准化的代码和直观的可视化(如决策表),更多的生物学家和利益相关者能够参与到先验设定的讨论中,使得评估过程更加透明和包容。
8.3 总结
贝叶斯方法已不再是统计学家的理论游戏,而是现代渔业科学的基石。从利用 FishLife 构建先验以解决数据匮乏问题,到使用 JABBA 和 SPiCT 进行稳健的资源评估,再到利用 INLA 解析复杂的时空动态,贝叶斯框架提供了一套完整且逻辑自洽的语言,来描述和管理海洋生态系统的不确定性。对于新一代渔业科学家而言,精通 R 语言中的贝叶斯工具链,是通往科学管理海洋资源的必经之路。
数据表格:主流贝叶斯渔业分析 R 包对比
| 「R 包名称」 | 「核心算法」 | 「主要应用领域」 | 「优势」 | 「适用场景」 |
|---|
| 「JABBA」 | | | 用户友好,诊断丰富,内置多种生产函数,处理冲突数据 | |
| 「SPiCT」 | | | 计算速度极快,支持不规则时间间隔数据,直接输出 MSY 分布 | |
| 「brms」 | | | 语法类似 lme4,极其灵活,支持各种分布和多层级结构 | |
| 「R-INLA」 | | | | 大规模空间 CPUE 标准化,物种分布模型 (SDM) |
| 「LBB」 | | | | |
| 「multispic」 | | | | |
| 「FishLife」 | | | | |