vpa.Rd
VPAによる資源計算を実施する
vpa(
dat,
sel.f = NULL,
tf.year = 2008:2010,
rec.new = NULL,
rec = NULL,
rec.year = 2010,
rps.year = 2001:2010,
fc.year = 2009:2011,
last.year = NULL,
last.catch.zero = FALSE,
faa0 = NULL,
naa0 = NULL,
f.new = NULL,
Pope = TRUE,
p.pope = 0.5,
tune = FALSE,
abund = "B",
min.age = 0,
max.age = 0,
link = "id",
base = NA,
af = NA,
p.m = 0.5,
omega = NULL,
index.w = NULL,
use.index = "all",
scale = 1000,
hessian = TRUE,
alpha = 1,
maxit = 5,
d = 1e-04,
min.caa = 0.001,
plot = FALSE,
plot.year = NULL,
term.F = "max",
plus.group = TRUE,
stat.tf = "mean",
add.p.est = NULL,
add.p.ini = NULL,
sel.update = FALSE,
sel.def = "max",
max.dd = 1e-06,
ti.scale = NULL,
tf.mat = NULL,
eq.tf.mean = FALSE,
no.est = FALSE,
est.method = "ls",
b.est = FALSE,
est.constraint = FALSE,
q.const = 1:length(abund),
b.const = 1:length(abund),
q.fix = NULL,
b.fix = NULL,
sigma.const = 1:length(abund),
fixed.index.var = NULL,
max.iter = 100,
optimizer = "nlm",
Lower = -Inf,
Upper = Inf,
p.fix = NULL,
lambda = 0,
beta = 2,
penalty = "p",
ssb.def = "i",
ssb.lag = 0,
TMB = FALSE,
sel.rank = NULL,
p.init = 0.2,
sigma.constraint = 1:length(abund),
eta = NULL,
eta.age = 0,
tmb.file = "rvpa_tmb",
remove.abund = NULL,
madara = FALSE,
p_by_age = FALSE,
penalty_age = NULL,
no_eta_age = NULL,
sdreport = FALSE,
use.equ = "new",
ave_S = TRUE
)
data for vpa
最終年の選択率
terminal Fをどの年の平均にするか
翌年の加入を外から与える
rec.yearの加入
加入を代入する際の年
翌年のRPSをどの範囲の平均にするか
Fcurrentでどの範囲を参照するか
vpaを計算する最終年を指定(retrospective analysis)
TRUEなら強制的に最終年の漁獲量を0にする
sel.update=TRUEのとき,初期値となるfaa
sel.update=TRUEのとき,初期値となるnaa
Popeの近似式を使うかどうか
Popeの式でどこで漁獲するか(0.5 = 真ん中の時期)
tuningをするかどうか
tuningの際,何の指標に対応するか. "N"=年の初めの資源尾数,"Nm"=年の中間での資源尾数,"B"=年の初めの資源重量,"Bm"=年の中間での資源重量,"SSB"=産卵親魚量,"Bs"=資源重量×選択率,"Bo"=資源重量×オメガで調節された選択率,"Ns"=資源尾数×選択率,"SSBm"=年の中間での産卵親魚量,"N1sj"=1歳の資源尾数(日本海スケトウダラ用),"N0sj"=0歳の資源尾数(日本海スケトウダラ用),"F"=漁獲係数の平均
tuning指標の年齢参照範囲の下限
tuning指標の年齢参照範囲の上限
tuningのlink関数
link関数が"log"のとき,底を何にするか
資源量指数が年の中央のとき,af=0なら漁期前,af=1なら漁期真ん中,af=2なら漁期後となる
tuning indexの重み
indexのなにを使うか.c(1,3)というような与え方ができる.デフォルトは"all"
重量のscaling
最高齢と最高齢-1のFの比 F_a = alpha*F_a-1
石岡・岸田/平松の方法の最大繰り返し数
石岡・岸田/平松の方法の収束判定基準
caaに0があるとき,0をmin.caaで置き換える
tuningに使った資源量指数に対するフィットのプロット
上のプロットの参照年
terminal Fの何を推定するか: "max" or "all"
最終年のFを推定する統計量(年齢で同じとする:changed on Nov/2021)
追加で最高齢以外のfaaを推定する際.年齢を指定する.
チューニングVPAにおいて,選択率を更新しながら推定
sel.update=TRUEで選択率を更新していく際に,選択率をどのように計算するか."max"=選択率が一番大きい年齢の選択率を1とする,"maxage"=最高齢の選択率を1とする,"mean"=全体に対する割合として選択率を決める(saa=faa/sum(faa))
sel.updateの際の収束判定基準
資源量の係数と切片のscaling
terminal Fの平均をとる年の設定.NA行列に平均をとる箇所に1を入れる.
terminal Fの平均値を過去のFの平均値と等しくする
パラメータ推定しない.
推定方法 (ls = 最小二乗法,ml = 最尤法, ls_nolog =最小二乗法で実数)
bを推定するかどうか
制約付き推定をするかどうか
qパラメータの制約(0は推定しないで1にfix)
bパラメータの制約(0は推定しないで1にfix)
q,b,sigma計算の際の最大繰り返し数
ridge penaltyの大きさ
penaltyのexponent (beta = 1: lasso, 2: ridge)
ridgeVPAの際に与えるpenaltyの種類."p"=指定した年齢範囲の最終年の年齢別Fのbeta乗の和,"f"={最終年の年齢aのF-(tf.yearで指定した年のa歳の平均のF)}のbeta乗の和,"s"={最終年の年齢aのs-(tf.yearで指定した年のa歳の平均のs)}のbeta乗の和
i: 年はじめ,m: 年中央, l: 年最後
0: no lag, 1: lag 1
TMBで高速計算する場合TMB=TRUE (事前にuse_rvpa_tmb()を実行) 全F推定法,POPE=TRUE, alpha=1, 途中でプラスグループが変化しない場合のみのときに使用可能
sigmaパラメータの制約.使い方としては,指標が5つあり,2番目と3番目の指標のsigmaは同じとしたい場合はc(1,2,2,3,4)と指定する
Fのpenaltyを分けて与えるときにeta.ageで指定した年齢への相対的なpenalty (0~1)
Fのpenaltyを分けるときにetaを与える年齢(0 = 0歳(加入),0:1 = 0~1歳)
TMB=TRUEのとき使用するcppファイルの名前
ある値を引いた値に対してチューニングに使用する(トラフグ伊勢・三河湾系群で放流魚を引いて天然魚のみに対してチューニングするため).
マダラ太平洋系群で用いているチューニングのやり方
選択率更新法でridgeVPAの際にpenalty="p"のときに年齢別にペナルテイーを与えるか与えないか.与えたい場合はTRUEとして,penalty_age(eta=NULLのとき)もしくはno_eta_age(etaがNULLでないとき)に年齢範囲を指定する.
選択率更新法でridgeVPAをする際のpenalty="p"のときで,etaがNULLで,p_by_age=TRUE (年齢別にペナルテイーを与えたい)ときにペナルテイーを与える年齢範囲.0歳から2歳までなら0:2とする.
選択率更新法でridgeVPAの際にpenalty="p"のときで,etaがNULLでなく,p_by_age=TRUE (年齢別にペナルテイーを与えたい)ときに,etaがかからないほうの年齢範囲
TMB=TRUE
のときにsdreport()
を実行するかどうか(naa, faa, 資源量, 親魚量, Fの平均, 漁獲割合のSDを計算する)
plus groupが途中で変わる場合の計算式の選択 (old = 従来の方法(プラスグループが延長している年はプラスグループのFが一歳若い年齢のFと等しいという仮定は置かない),new= 新しい方法(プラスグループが延長している年はプラスグループのFが一歳若い年齢のFと等しいという仮定を置く)
選択率更新法において,最終年の選択率の仮定が通常(TRUE)とは違い,ヒラメ瀬戸内のように,最終年の選択率がtf.yearで指定した年の平均のF(つまりSUM(F,a)/SUM(F,maxage))に等しいと仮定する場合はFALSEにする.この場合,sel.def="maxage"必須.
list object:
input
解析に用いたデータや仮定
term.f
推定されたターミナルF
np
推定されたターミナルFの数
minimum
最適解における目的関数の値(合計)
minimum.c
最適解における目的関数の値(個々)
logLik
対数尤度
gradient
最適解での傾き
code
最適化法から返されるコード(どのような理由で最適化が停止したのかがわかる)
q
推定されたq(資源量指標値の比例定数))
b
推定されたb(資源量指標値の非線形性))
sigma
資源量指標値の分散の平方根
convergence
解が収束していれば1,そうでないと0
message
最適化に関する注意(あれば)
hessian
ヘッセ行列の値
Ft
最終年のFの平均値
Fc.at.age
Fcurrentで指定した年における平均のF
Fc.mean
Fc.at.ageを平均したもの
Fc.max
Fc.at.ageの最大値
last.year
vpaを計算する最終年を別に指定した場合
Pope
popeの近似式を用いたか否か
ssb.coef
産卵親魚量の計算時期(年始めなら0,年中央なら0.5,年最後なら1)
pred.index
推定された資源量指標値
wcaa
caa*waa.catch
naa
推定された年別年齢別資源尾数
faa
推定された年別年齢別漁獲係数
baa
推定された年別年齢別資源重量
sbb
推定された年別年齢別産卵親魚量
saa
推定された年別年齢別選択率