本文整理汇总了Python中statsmodels.tsa.statespace.mlemodel.MLEModel.initialize_approximate_diffuse方法的典型用法代码示例。如果您正苦于以下问题:Python MLEModel.initialize_approximate_diffuse方法的具体用法?Python MLEModel.initialize_approximate_diffuse怎么用?Python MLEModel.initialize_approximate_diffuse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类statsmodels.tsa.statespace.mlemodel.MLEModel
的用法示例。
在下文中一共展示了MLEModel.initialize_approximate_diffuse方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: setup_class
# 需要导入模块: from statsmodels.tsa.statespace.mlemodel import MLEModel [as 别名]
# 或者: from statsmodels.tsa.statespace.mlemodel.MLEModel import initialize_approximate_diffuse [as 别名]
def setup_class(cls, which='mixed', *args, **kwargs):
# Data
dta = datasets.macrodata.load_pandas().data
dta.index = pd.date_range(start='1959-01-01', end='2009-7-01', freq='QS')
obs = np.log(dta[['realgdp','realcons','realinv']]).diff().iloc[1:] * 400
if which == 'all':
obs.iloc[:50, :] = np.nan
obs.iloc[119:130, :] = np.nan
elif which == 'partial':
obs.iloc[0:50, 0] = np.nan
obs.iloc[119:130, 0] = np.nan
elif which == 'mixed':
obs.iloc[0:50, 0] = np.nan
obs.iloc[19:70, 1] = np.nan
obs.iloc[39:90, 2] = np.nan
obs.iloc[119:130, 0] = np.nan
obs.iloc[119:130, 2] = np.nan
mod = cls.create_model(obs, **kwargs)
cls.model = mod.ssm
n_disturbance_variates = (
(cls.model.k_endog + cls.model.k_posdef) * cls.model.nobs
)
np.random.seed(1234)
dv = np.random.normal(size=n_disturbance_variates)
isv = np.random.normal(size=cls.model.k_states)
# Collapsed filtering, smoothing, and simulation smoothing
cls.model.filter_collapsed = True
cls.results_b = cls.model.smooth()
cls.sim_b = cls.model.simulation_smoother()
cls.sim_b.simulate(disturbance_variates=dv, initial_state_variates=isv)
# Conventional filtering, smoothing, and simulation smoothing
cls.model.filter_collapsed = False
cls.results_a = cls.model.smooth()
cls.sim_a = cls.model.simulation_smoother()
cls.sim_a.simulate(disturbance_variates=dv, initial_state_variates=isv)
# Create the model with augmented state space
kwargs.pop('filter_collapsed', None)
mod = MLEModel(obs, k_states=4, k_posdef=2, **kwargs)
mod['design', :3, :2] = np.array([[-32.47143586, 17.33779024],
[-7.40264169, 1.69279859],
[-209.04702853, 125.2879374]])
mod['obs_cov'] = np.diag(
np.array([0.0622668, 1.95666886, 58.37473642]))
mod['transition', :2, :2] = np.array([[0.29935707, 0.33289005],
[-0.7639868, 1.2844237]])
mod['transition', 2:, :2] = np.eye(2)
mod['selection', :2, :2] = np.eye(2)
mod['state_cov'] = np.array([[1.2, -0.25],
[-0.25, 1.1]])
mod.initialize_approximate_diffuse(1e6)
cls.augmented_model = mod.ssm
cls.augmented_results = mod.ssm.smooth()
示例2: setup_class
# 需要导入模块: from statsmodels.tsa.statespace.mlemodel import MLEModel [as 别名]
# 或者: from statsmodels.tsa.statespace.mlemodel.MLEModel import initialize_approximate_diffuse [as 别名]
def setup_class(cls, which='none', **kwargs):
# Results
path = current_path + os.sep + 'results/results_smoothing_generalobscov_R.csv'
cls.desired = pd.read_csv(path)
# Data
dta = datasets.macrodata.load_pandas().data
dta.index = pd.date_range(start='1959-01-01', end='2009-7-01', freq='QS')
obs = dta[['realgdp','realcons','realinv']].diff().iloc[1:]
if which == 'all':
obs.iloc[:50, :] = np.nan
obs.iloc[119:130, :] = np.nan
elif which == 'partial':
obs.iloc[0:50, 0] = np.nan
obs.iloc[119:130, 0] = np.nan
elif which == 'mixed':
obs.iloc[0:50, 0] = np.nan
obs.iloc[19:70, 1] = np.nan
obs.iloc[39:90, 2] = np.nan
obs.iloc[119:130, 0] = np.nan
obs.iloc[119:130, 2] = np.nan
# Create the model
mod = MLEModel(obs, k_states=3, k_posdef=3, **kwargs)
mod['design'] = np.eye(3)
mod['obs_cov'] = np.array([[ 609.0746647855, 0. , 0. ],
[ 0. , 1.8774916622, 0. ],
[ 0. , 0. , 124.6768281675]])
mod['transition'] = np.array([[-0.8110473405, 1.8005304445, 1.0215975772],
[-1.9846632699, 2.4091302213, 1.9264449765],
[ 0.9181658823, -0.2442384581, -0.6393462272]])
mod['selection'] = np.eye(3)
mod['state_cov'] = np.array([[ 1552.9758843938, 612.7185121905, 877.6157204992],
[ 612.7185121905, 467.8739411204, 70.608037339 ],
[ 877.6157204992, 70.608037339 , 900.5440385836]])
mod.initialize_approximate_diffuse(1e6)
cls.model = mod.ssm
# Conventional filtering, smoothing, and simulation smoothing
cls.model.filter_conventional = True
cls.conventional_results = cls.model.smooth()
n_disturbance_variates = (
(cls.model.k_endog + cls.model.k_posdef) * cls.model.nobs
)
cls.conventional_sim = cls.model.simulation_smoother(
disturbance_variates=np.zeros(n_disturbance_variates),
initial_state_variates=np.zeros(cls.model.k_states)
)
# Univariate filtering, smoothing, and simulation smoothing
cls.model.filter_univariate = True
cls.univariate_results = cls.model.smooth()
cls.univariate_sim = cls.model.simulation_smoother(
disturbance_variates=np.zeros(n_disturbance_variates),
initial_state_variates=np.zeros(cls.model.k_states)
)
示例3: setup_class
# 需要导入模块: from statsmodels.tsa.statespace.mlemodel import MLEModel [as 别名]
# 或者: from statsmodels.tsa.statespace.mlemodel.MLEModel import initialize_approximate_diffuse [as 别名]
def setup_class(cls, which, dtype=float, alternate_timing=False, **kwargs):
# Results
path = os.path.join(current_path, 'results',
'results_smoothing_generalobscov_R.csv')
cls.desired = pd.read_csv(path)
# Data
dta = datasets.macrodata.load_pandas().data
dta.index = pd.date_range(start='1959-01-01',
end='2009-7-01', freq='QS')
obs = dta[['realgdp', 'realcons', 'realinv']].diff().iloc[1:]
if which == 'all':
obs.iloc[:50, :] = np.nan
obs.iloc[119:130, :] = np.nan
elif which == 'partial':
obs.iloc[0:50, 0] = np.nan
obs.iloc[119:130, 0] = np.nan
elif which == 'mixed':
obs.iloc[0:50, 0] = np.nan
obs.iloc[19:70, 1] = np.nan
obs.iloc[39:90, 2] = np.nan
obs.iloc[119:130, 0] = np.nan
obs.iloc[119:130, 2] = np.nan
# Create the model
mod = MLEModel(obs, k_states=3, k_posdef=3, **kwargs)
mod['design'] = np.eye(3)
X = (np.arange(9) + 1).reshape((3, 3)) / 10.
mod['obs_cov'] = np.dot(X, X.T)
mod['transition'] = np.eye(3)
mod['selection'] = np.eye(3)
mod['state_cov'] = np.eye(3)
mod.initialize_approximate_diffuse(1e6)
cls.model = mod.ssm
# Conventional filtering, smoothing, and simulation smoothing
cls.model.filter_conventional = True
cls.conventional_results = cls.model.smooth()
n_disturbance_variates = (
(cls.model.k_endog + cls.model.k_posdef) * cls.model.nobs
)
cls.conventional_sim = cls.model.simulation_smoother(
disturbance_variates=np.zeros(n_disturbance_variates),
initial_state_variates=np.zeros(cls.model.k_states)
)
# Univariate filtering, smoothing, and simulation smoothing
cls.model.filter_univariate = True
cls.univariate_results = cls.model.smooth()
cls.univariate_sim = cls.model.simulation_smoother(
disturbance_variates=np.zeros(n_disturbance_variates),
initial_state_variates=np.zeros(cls.model.k_states)
)
示例4: create_model
# 需要导入模块: from statsmodels.tsa.statespace.mlemodel import MLEModel [as 别名]
# 或者: from statsmodels.tsa.statespace.mlemodel.MLEModel import initialize_approximate_diffuse [as 别名]
def create_model(cls, obs, **kwargs):
# Create the model with typical state space
mod = MLEModel(obs, k_states=2, k_posdef=2, **kwargs)
mod['design'] = np.array([[-32.47143586, 17.33779024],
[-7.40264169, 1.69279859],
[-209.04702853, 125.2879374]])
mod['obs_cov'] = np.diag(
np.array([0.0622668, 1.95666886, 58.37473642]))
mod['transition'] = np.array([[0.29935707, 0.33289005],
[-0.7639868, 1.2844237]])
mod['selection'] = np.eye(2)
mod['state_cov'] = np.array([[1.2, -0.25],
[-0.25, 1.1]])
mod.initialize_approximate_diffuse(1e6)
return mod