我正在尝试在Matlab中创建一个特定的分布来进行采样。我想模拟一些分布为ARG(自回归伽玛)的过程。
进程 v 如果形式为 v ~Gamma(a + z t <,则称为ARG(a,b,c) / sub>,c)
其中z t ,〜泊松(bv t-1 / c)
参数a,b,c分别对应于自由度,序列依赖性的度量和比例参数。
我知道MATLAB内置了Poisson和Gamma分布,但我不确定如何创建包含这两者的自定义分布函数。
我想创建一个从ARG动态跟踪过程中采样的函数。例如,MATLAb有
R = mvnrnd(MU,SIGMA)
从正态分布生成随机数。如何为ARG创建类似的内容?
修改
尝试实施:
function [v] = ARG(a, b, c, startval )
%a = delta
%b = rho
%c = (1-rho)*(1-gamma^2)/delta
v_lag = startval
z = poissrnd(b*v_lag / c)
v = gamrnd(a + z, c)