statsmodels.tsa.statespace.dynamic_factor_mq.DynamicFactorMQ.fit_em

DynamicFactorMQ.fit_em(start_params=None, transformed=True, cov_type='none', cov_kwds=None, maxiter=500, tolerance=1e-06, disp=False, em_initialization=True, mstep_method=None, full_output=True, return_params=False, low_memory=False, llf_decrease_action='revert', llf_decrease_tolerance=0.0001)[source]

通过EM算法以最大似然估计拟合模型。

Parameters:
start_paramsarray_like, optional

对数似然最大化解决方案的初始猜测。 默认使用 DynamicFactorMQ.start_params

transformedbool, optional

是否已经对start_params进行了转换。默认为True。

cov_typestr, optional

关键词 cov_type 决定了计算参数估计协方差矩阵的方法。可以是以下之一:

  • ‘opg’ 表示梯度估计的外积

  • ‘oim’ 表示观察到的信息矩阵估计量,使用Harvey(1989)的方法计算

  • ‘approx’ 表示观测信息矩阵估计器,使用Hessian矩阵的数值近似计算得出。

  • ‘robust’ 用于近似(准最大似然)协方差矩阵,即使在存在一些错误指定的情况下,该矩阵也可能是有效的。中间计算使用 ‘oim’ 方法。

  • ‘robust_approx’ 与 ‘robust’ 相同,除了中间计算使用 ‘approx’ 方法。

  • ‘none’ 表示不进行协方差矩阵计算。

默认值为‘none’,因为计算这个矩阵在参数数量庞大时可能会非常慢。

cov_kwdsdict or None, optional

影响协方差矩阵计算的参数字典。

opg, oim, 近似, 鲁棒, 鲁棒近似

  • ‘approx_complex_step’ : bool, 可选 - 如果为 True,数值近似使用复步法计算。如果为 False,数值近似使用有限差分法计算。默认为 True。

  • ‘approx_centered’ : bool, 可选 - 如果为 True,使用有限差分方法计算的数值近似使用中心近似。默认为 False。

maxiterint, optional

要执行的最大EM迭代次数。

tolerancefloat, optional

控制EM算法收敛的参数。容差是声明收敛所需的最小似然相对增加量。容差的值越小,通常会得到更精确的参数估计,但通常需要更多的EM迭代。默认值为1e-6。

dispint or bool, optional

控制EM迭代进度的打印。如果是一个整数,进度将在每disp次迭代时打印。值为True被解释为1。默认是False(不会打印任何内容)。

em_initializationbool, optional

是否也使用EM算法更新卡尔曼滤波器的初始化。默认值为True。

mstep_method{None, ‘missing’, ‘nonmissing’}, optional

EM算法的最大化步骤。如果数据集中没有NaN值,可以设置为“nonmissing”(稍微快一些)或“missing”,否则必须设置为“missing”。默认情况下,如果没有NaN值则为“nonmissing”,如果有则为“missing”。

full_outputbool, optional

设置为 True 以在 Results 对象的 mle_retvals 属性中获取 EM 迭代的所有可用输出。

return_paramsbool, optional

是否仅返回最大化参数的数组。 默认是 False。

low_memorybool, optional

此选项不能与EM算法一起使用,如果设置为True,将会引发错误。默认值为False。

llf_decrease_action{‘ignore’, ‘warn’, ‘revert’}, optional

如果在EM迭代中对数似然度下降,应采取的操作。 ‘ignore’ 继续迭代,‘warn’ 发出警告但继续迭代,而 ‘revert’ 结束迭代并返回上次良好迭代的结果。默认是 ‘warn’。

llf_decrease_tolerancefloat, optional

触发警告或结束EM迭代的对数似然减少的最小值。将此值设置得略大于零,允许由于数值问题引起的对数似然的小幅减少。如果设置为零,则任何减少都会触发llf_decrease_action。默认值为1e-4。

Returns:
DynamicFactorMQResults

Last update: Oct 16, 2024