高斯状态空间模型¶
示例¶
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | import numpy as np
import pyflux as pf
import pandas as pd
nile = pd.read_csv('https://vincentarelbundock.github.io/Rdatasets/csv/datasets/Nile.csv')
nile.index = pd.to_datetime(nile['time'].values,format='%Y')
model = pf.LLEV(data=niles,target='Poisson') # 局部水平模型
USgrowth = pd.DataFrame(np.log(growthdata['VALUE']))
USgrowth.index = pd.to_datetime(growthdata['DATE'])
USgrowth.columns = ['Logged US Real GDP']
model2 = pf.LLT(data=USgrowth) # 局部线性趋势模型
|
类参数¶
局部水平(LLEV)和局部线性趋势(LLT)模型的形式如下:
-
class
LLEV(data, integ, target)¶ -
data¶ pd.DataFrame 或类数组对象:时间序列数据
-
integ¶ int : 时间序列的差分次数(默认值:0)
-
target¶ 字符串(数据为DataFrame)或整数(数据为np.array):指定用作时间序列的列。如果为None,将选择第一列作为数据。
-
-
class
LLT(data, integ, target)¶ -
data¶ pd.DataFrame 或类似数组 : 时间序列数据
-
integ¶ int : 时间序列的差分次数(默认值:0)
-
target¶ 字符串(数据为DataFrame)或整数(数据为np.array):指定用作时间序列的列。如果为None,将选择第一列作为数据。
-
动态线性回归(DynReg)模型的形式如下:
类方法¶
-
adjust_prior(index, prior)¶ 调整模型的先验分布。index可以是整数或列表。prior是先验对象,例如Normal(0,3)。
以下是adjust_prior()的使用示例:
1
2
3
4
5 | import pyflux as pf
# 模型 = ... (指定一个模型)
model.list_priors()
model.adjust_prior(2,pf.Normal(0,1))
|
-
fit(method, **kwargs)¶ 估计模型的参数。返回一个Results对象。method是推断/估计的选项;有关选项请参阅贝叶斯推断和经典推断部分。如果没有提供method,则将使用默认值。
可选参数特定于您选择的方法 - 有关这些方法的更多详细信息,请参阅相关文档。
以下是fit()的示例用法:
1
2
3
4 | import pyflux as pf
# 模型 = ... (指定一个模型)
model.fit("M-H",nsims=20000)
|
-
plot_fit(intervals, **kwargs)¶ 绘制模型的拟合图。intervals 是一个布尔值;如果为真,则显示状态的95%置信区间。
可选参数包括 figsize - 图表绘制的尺寸 - 以及 series_type,它有两个选项:Filtered(过滤)或 Smoothed(平滑)。
-
plot_parameters(indices, figsize)¶ 返回参数及其相关不确定性的绘图。indices是一个列表,指定您想要绘制的参数索引。Figsize参数用于设置绘图的大小。
-
plot_predict(h, past_values, intervals, **kwargs)¶ 绘制模型的预测结果。h是一个整数,表示预测未来多少步。past_values是一个整数,表示要绘制序列中过去多少个值。intervals是一个布尔值,决定是否包含置信/可信区间。
可选参数包括 figsize - 要绘制的图形尺寸。
-
plot_predict_is(h, past_values, intervals, **kwargs)¶ 绘制模型样本内滚动预测结果。h是表示模拟性能所需历史步数的整数。past_values是表示需要绘制的序列历史值数量的整数。intervals是布尔值,用于控制是否包含置信/可信区间。
可选参数包括 figsize - 要绘制的图形尺寸。
-
predict(h)¶ 返回模型预测的DataFrame。h是一个整数,表示预测提前多少步。
-
predict_is(h)¶ 返回模型样本内滚动预测的DataFrame。h是一个整数,表示要模拟性能的前几步数。
-
simulation_smoother(data, beta)¶ 从模拟平滑器中输出模拟状态轨迹。参数包括 data:用于模拟的数据(通常使用 self.data)和 beta:要使用的参数。