「CovarianceMatrixEstimate」の編集履歴(バックアップ)一覧はこちら
「CovarianceMatrixEstimate」(2005/08/15 (月) 10:41:14) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*推定値の分散共分散行列
-NONMEM のアウトプット中に([[$COV]] を指定したときに)出力されてくる "Covariance Matrix of Estimate".
-通常はあまり使い道はないのだが,時々必要になる.
--例えば,パラメータの推定誤差を考慮して,多変量正規分布を仮定したシミュレーションを行いたい場合.http://blog.goo.ne.jp/hkasai/e/c17591b1b36a68ce3f3d4c3abd7669da
-しかし,アウトプットファイルにおける分散共分散行列推定値も,これまた利用しにくい.
-そこで,INFN 機能を利用して,この情報を取り出してみる.
--NTH, NETA, NEPS の行に,それぞれ,THETA, ETA, EPS の数を適切に指定する.
--結果は COV.TXT というファイルに出力される.数値の意味はアウトプットの該当欄と見比べてみればすぐにわかるだろうから,説明省略.
SUBROUTINE INFN(ICALL, THETA, DATREC, INDXS, NEWIND)
C
INCLUDE 'C:\NMV\NM\NSIZES'
COMMON /CM12/ COVM(LPAR3)
INTEGER MODE
INTEGER NTH, NETA, NEPS
INTEGER NALL
C
C THE NEXT 3 LINES SHOULD BE EDITED FOR THE NUMBERS OF ETAs,
C THETAs AND EPSIILONs IN YOUR PROBLEM
C
NTH = 3
NETA = 3
NEPS = 1
C
NALL = NTH + NETA*(NETA+1)/2 + NEPS*(NEPS+1)/2
NALL = NALL * (NALL+1) / 2
C
IF (ICALL.EQ.0) THEN
OPEN(51, FILE = 'COV.TXT')
ENDIF
C
IF (ICALL.EQ.3) THEN
MODE = 0
CALL PASS(MODE)
MODE = 1
20 CALL PASS(MODE)
IF (MODE.EQ.0) GO TO 30
GO TO 20
30 CONTINUE
WRITE(51,*) (COVM(I),I=1,NALL)
ENDIF
C
RETURN
END
表示オプション
横に並べて表示:
変化行の前後のみ表示: