statsmodels.tsa.regime_switching.markov_regression.MarkovRegression¶
-
class statsmodels.tsa.regime_switching.markov_regression.MarkovRegression(endog, k_regimes, trend=
'c', exog=None, order=0, exog_tvtp=None, switching_trend=True, switching_exog=True, switching_variance=False, dates=None, freq=None, missing='none')[source]¶ 一阶k-机制马尔可夫切换回归模型
- Parameters:¶
- endogarray_like
内生变量。
- k_regimes
int 体制的数量。
- trend{‘n’, ‘c’, ‘t’, ‘ct’}
是否包含趋势。要包含截距、时间趋势或两者,请设置trend='c'、trend='t'或trend='ct'。如果不包含趋势,请设置trend='n'。默认是截距。
- exogarray_like,
optional 外生回归变量的数组,形状为 nobs x k。
- order
int,optional 模型的顺序描述了似然函数对先前状态的依赖性。这取决于所讨论的模型,并且应由子类适当地设置。
- exog_tvtparray_like,
optional 用于计算时间变化转移概率(TVTP)的外生或滞后变量的数组。仅当提供此变量时,才使用TVTP。如果需要截距,则必须在此数组中显式包含一列1。
- switching_trendbool or iterable,
optional 如果是一个布尔值,设置是否所有趋势系数在不同制度下切换。如果是一个可迭代对象,应该与趋势变量的数量相等,其中每个元素是一个布尔值,描述相应的系数是否切换。默认是 True。
- switching_exogbool or iterable,
optional 如果是一个布尔值,设置是否所有回归系数在不同状态之间切换。如果是一个可迭代对象,应该与外生变量的数量相等,其中每个元素都是一个布尔值,描述相应的系数是否切换。默认值为True。
- switching_variancebool,
optional 是否存在特定体制的异方差性,即误差项是否具有切换方差。默认值为False。
- Attributes:¶
endog_names内生变量的名称。
exog_names外生变量的名称。
k_params(int) 模型中的参数数量
param_names(list of str) 人类可读的参数名称列表(用于参数)
start_params(数组) 最大似然估计的初始参数。
注释
此模型是新的,API稳定性未得到保证,尽管如果可能的话,更改将以向后兼容的方式进行。
该模型可以写为:
\[\begin{split}y_t = a_{S_t} + x_t' \beta_{S_t} + \varepsilon_t \\ \varepsilon_t \sim N(0, \sigma_{S_t}^2)\end{split}\]即模型是一个动态线性回归,其中系数和误差项的方差可能在不同状态之间切换。
通过在 exog 数组前添加列来适应 trend。因此,如果 trend='c',传递的 exog 数组不应已经包含一列全为1的列。
请参阅笔记本 马尔可夫切换动态回归 以获取概述。
参考文献
金昌镇和查尔斯·R·纳尔逊。1999年。 “带有状态转换的状态空间模型: 经典和吉布斯采样方法及其应用”。 麻省理工学院出版社书籍。麻省理工学院出版社。
方法
filter(参数[, 转换, 协方差类型, ...])应用汉密尔顿滤波器
fit([start_params, transformed, cov_type, ...])通过汉密尔顿滤波器以最大似然法拟合模型。
from_formula(公式, 数据[, 子集, 删除列])从公式和数据框创建模型。
hessian(params[, transformed])似然函数的Hessian矩阵,在给定参数处求值
information(params)模型的费舍尔信息矩阵。
initial_probabilities(params[, ...])检索初始概率
初始化(可能重新初始化)一个模型实例。
initialize_known(概率[, 容差])设置状态概率的初始化以使用已知值
将制度概率的初始化设置为稳态值
loglike(参数[, 转换])对数似然评估
loglikeobs(params[, transformed])每个时期的对数似然评估
predict(params[, start, end, probabilities, ...])样本内预测和样本外预测
predict_conditional(params)样本内预测,基于当前状态
regime_transition_matrix(params[, exog_tvtp])构建左随机转移矩阵
score(params[, transformed])在参数处计算得分函数。
score_obs(params[, transformed])计算每个观测值的得分,在参数处进行评估
smooth(params[, transformed, cov_type, ...])应用Kim平滑器和Hamilton滤波器
transform_params(无约束)将优化器使用的无约束参数转换为似然评估中使用的约束参数
untransform_params(constrained)将似然评估中使用的约束参数转换为优化器使用的无约束参数
属性
内生变量的名称。
外生变量的名称。
(int) 模型中的参数数量
(list of str) 人类可读的参数名称列表(适用于模型中实际包含的参数)。
(数组) 最大似然估计的初始参数。