⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arima_dr.ado

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 ADO
字号:
*! version 6.1.3  14mar2005  
program define arima_dr
	version 6
	args 	    todo	/*  whether to calculate gradient
		*/  bc		/*  Name of full beta matrix
		*/  llvar	/*  Name of variable to hold LL_t */

	tempname sigma2 F v1 Q Ap H XI R w P Qvec Pvec
	tempvar ApX y_pred y_mse    /* y_mse returned by kalman but not used */

				/* handle contraints, if any */
	if "$TT" != "" {
		tempname b
		mat `b' = `bc' * $TT' + $Ta
		mat colnames `b' = $Tstripe
	}
	else	local b `bc'

	qui gen double `y_pred' = . in 1
	qui gen double `y_mse' = . in 1

	scalar `sigma2' = `b'[1, colsof(`b')]^2

	kalarma1 `F' `v1' `Q' `Ap' `H' `XI' `R' `w' : `b' `sigma2'

				/* Inital conditions for filter */

	if "$Tstate0" != "" { 
		mat `XI' = $Tstate0 
	}
	if "$Tp0" == "" {
		mata : kalman_solve_P0("`P'", "`F'", "`Q'")
	}
	else	mat `P' = $Tp0

	_kalman1 `y_pred' `y_mse' `llvar' :  /*
		*/ $Tdepvar `F' `v1' `Q' `Ap' `H' `XI' `w' `R' `P'  /*
		*/ if $ML_samp , p0

	tempname ll
	mlsum `ll' = `llvar'

end

version 9
mata:
mata set matastrict on

void kalman_solve_P0(P0n, string scalar Fn, 
		     string scalar Qn) 
{
	real matrix F, vecQ, Q, R, vecP0, P0
	real scalar i, m
	
	F = st_matrix(Fn)
	vecQ = vec(st_matrix(Qn))
	vecP0 = lusolve((I(rows(F)^2) - F#F), vecQ)
	/* Un-vec vecP0 */
	m = rows(F)
	P0 = J(m,m,.)
	for(i=1; i<=m; ++i) {
		P0[.,i] = vecP0[m*(i-1)+1 .. m*i]
	}
			
	st_matrix(P0n, P0)
}
end

exit

+
-

_mvec and _mfrmvec no longer used by -arima-.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -