FARIMAProcess[{a1,…,ap},d,{b1,…,bq},v]
表示自回归分数整合滑动平均过程
以满足它的第 d
阶差分是一个 ARMAProcess[{a1,…,ap},{b1,…,bq,v].
FARIMAProcess[{a1,…,ap},d,{b1,…,bq},Σ]
表示向量自回归分数整合滑动平均过程 (y1(t),… ,yn(t)) 以满足它的第 (d,…,d) 阶差分是一个向量 ARMAProcess.
FARIMAProcess[{a1,…,ap},{d1,…,dn},{b1,…,bq},Σ]
表示向量自回归分数整合滑动平均过程 (y1(t),… ,yn(t)) 以满足它的第 (d1,…,dn) 阶差分是一个向量 ARMAProcess.
FARIMAProcess
FARIMAProcess[{a1,…,ap},d,{b1,…,bq},v]
表示自回归分数整合滑动平均过程
以满足它的第 d
阶差分是一个 ARMAProcess[{a1,…,ap},{b1,…,bq,v].
FARIMAProcess[{a1,…,ap},d,{b1,…,bq},Σ]
表示向量自回归分数整合滑动平均过程 (y1(t),… ,yn(t)) 以满足它的第 (d,…,d) 阶差分是一个向量 ARMAProcess.
FARIMAProcess[{a1,…,ap},{d1,…,dn},{b1,…,bq},Σ]
表示向量自回归分数整合滑动平均过程 (y1(t),… ,yn(t)) 以满足它的第 (d1,…,dn) 阶差分是一个向量 ARMAProcess.
更多信息
- FARIMAProcess 也称为 ARFIMA 或者长记忆时间序列.
- FARIMAProcess 是离散时间和连续状态随机过程.
- FARIMA 过程由差分方程
描述,其中
是状态输出,
是白噪声输入,而
是平移算子. - 标量 FARIMA 过程具有传递函数
,其中
. - 向量 FARIMA 过程具有传递矩阵
,其中
,并且
是
×
单位矩阵. - 标量 FARIMA 过程应该有实系数 ai 和 bj,实积分参数 d,以满足
,和正方差 v.
维向量 FARIMA 过程应该有维度为
×
的实系数矩阵 ai 和 bj 以及实积分参数 di 以满足
或者实积分参数 d 以满足
,而协方差矩阵 Σ 应该是大小为
×
的对称正定矩阵.- FARIMAProcess[p,d,q] 和 FARIMAProcess[p,q] 表示阶数为 p 和 q 的 FARIMA 过程,其中已知或者未知的积分阶数 d 用于 EstimatedProcess 和相关函数中.
- FARIMAProcess 可以与诸如 CovarianceFunction、RandomFunction 和 TimeSeriesForecast 等函数一起使用.
范例
打开所有单元 关闭所有单元基本范例 (3)
sample = RandomFunction[FARIMAProcess[{.1}, .3, {-.3}, 1], {0, 10 ^ 2}]ListPlot[sample, Filling -> Axis]CovarianceFunction[FARIMAProcess[{}, d, {}, σ^2], s, t]DiscretePlot3D[CovarianceFunction[FARIMAProcess[{.1}, .4, {.4}, 1], s, t], {s, 0, 10}, {t, 0, 10}, ExtentSize -> 1 / 2, ColorFunction -> "Rainbow"]DiscretePlot[CorrelationFunction[FARIMAProcess[{.1}, .2, {.3}, 1], h], {h, 0, 20}, ExtentSize -> 1 / 2]DiscretePlot[PartialCorrelationFunction[FARIMAProcess[{}, .2, {}, 1], h], {h, 1, 30}, ExtentSize -> 1 / 2]范围 (25)
基本用法 (8)
data = RandomFunction[FARIMAProcess[{.5}, .3, {.3}, 1], {30}, 4]ListLinePlot[data, Filling -> Axis]RandomFunction[FARIMAProcess[{2 / 10, 1 / 10}, 1 / 3, {2 / 7}, 1 / 10], {1, 4}, WorkingPrecision -> 20]["Path"]sample[d_] := (SeedRandom[3];RandomFunction[FARIMAProcess[{.1}, d, {.2}, .1], {1, 2 10 ^ 2}]);ListPlot[sample[#], Filling -> Axis, PlotLabel -> StringJoin["d = ", ToString[#]]]& /@ {-.4, .4}α = {{.2, .1}, {-.3, .2}};
β = {{.2, .5}, {-.2, .9}};
δ = {.2, -.4};
Σ = {{1, 0}, {0, .3}};
sample = RandomFunction[FARIMAProcess[{α}, δ, {β}, Σ], {1, 10 ^ 2}];s = TimeSeries[sample, ResamplingMethod -> Automatic];
f = s["PathFunction"];
g[t_ ? NumericQ] := f[t]ParametricPlot[g[t], {t, 1, 100}, ColorFunction -> Function[{x, y, t}, (ColorData["BlueGreenYellow"][t])], PlotStyle -> Thick, AspectRatio -> 1, AxesLabel -> {x, y}]gg[t_ ? NumericQ] := Join[{t}, f[t]]ParametricPlot3D[gg[t], {t, 1, 100}, ColorFunction -> Function[{t, x, y}, (ColorData["BlueGreenYellow"][t])], PlotStyle -> Thick, BoxRatios -> 1, AxesLabel -> {t, x, y}]α = {{.2, .1, .1}, {-.3, .2, .1}, {-.3, .2, -.1}};
β = {{.2, .5, .1}, {-.2, .9, .5}, {.3, .1, -.4}};
δ = {.2, .4, .3};
Σ = {{1, 0, 0}, {0, .3, 0}, {0, 0, .1}};
SeedRandom[4];sample = RandomFunction[FARIMAProcess[{α}, δ, {β}, Σ], {1, 10 ^ 2}];s = TimeSeries[sample, ResamplingMethod -> Automatic];
f = s["PathFunction"];
g[t_ ? NumericQ] := f[t]ParametricPlot3D[g[t], {t, 1, 100}, ColorFunction -> Function[{x, y, z, t}, (ColorData["BlueGreenYellow"][t])], PlotStyle -> Thick, BoxRatios -> 1, AxesLabel -> {x, y, z}]sample = RandomFunction[FARIMAProcess[{.3}, .2, {.5}, .1], {1, 10 ^ 3}];
eproc = EstimatedProcess[sample, FARIMAProcess[1, 1]]Show[ListPlot[CovarianceFunction[sample, {8}], Filling -> 0, PlotStyle -> {PointSize[Large], Orange}], DiscretePlot[CovarianceFunction[eproc, h], {h, 0, 8}, ExtentSize -> 1 / 2]]sample = RandomFunction[FARIMAProcess[{}, .2, {}, .1], {1, 10 ^ 3}];
eproc = EstimatedProcess[sample, FARIMAProcess[0, d, 0], ProcessEstimator -> "MethodOfMoments"]Show[ListPlot[CorrelationFunction[sample, {12}], Filling -> 0, PlotStyle -> {PointSize[Large], Orange}, PlotRange -> {0, 1}], DiscretePlot[CorrelationFunction[eproc, h], {h, 0, 12}, ExtentSize -> 1 / 2,
PlotRange -> {0, 1}]]proc = FARIMAProcess[{.7}, .4, {-.3}, .1];sample = RandomFunction[proc, {1, 10 ^ 2}];forecast = TimeSeriesForecast[proc, sample, {20}]forecast["Path"]ListLinePlot[{sample, forecast}, InterpolationOrder -> 0, Filling -> Axis]协方差和谱函数 (5)
CorrelationFunction[FARIMAProcess[{}, d, {}, σ^2], h]Table[CorrelationFunction[FARIMAProcess[{1 / 3}, .2, {1, 2}, 1], h], {h, 0, 5}]PartialCorrelationFunction[FARIMAProcess[{}, d, {}, σ^2], h]Correlation[FARIMAProcess[{.1}, .3, {.4}, 1][{1, 2, 3}]]//MatrixFormCorrelation[FARIMAProcess[{}, d, {}, σ^2][{s, t}]]//MatrixFormCovariance[FARIMAProcess[{.1}, .3, {.4}, 1][{1, 2, 3}]]//MatrixFormCovariance[FARIMAProcess[{}, d, {}, σ^2][{s, t}]]//MatrixFormPlot[PowerSpectralDensity[FARIMAProcess[{-.6, -.7}, .3, {.4, .3}, 1], w], {w, -π, π}, Filling -> Axis]PowerSpectralDensity[FARIMAProcess[{a}, d, {b}, σ^2], w]向量 FARIMAProcess:
a = {{1 / 9, 0}, {1 / 3, 1 / 2}};
b = {{1, 1 / 4}, {1 / 2, 0}};
Σ = {{1, 0}, {0, 1}};
proc = FARIMAProcess[{a}, {1 / 3, -1 / 4}, {b}, Σ];psd = PowerSpectralDensity[proc, ω];
psd//FullSimplify//MatrixForm平稳性和可逆性 (4)
WeakStationarity[FARIMAProcess[{1, 2}, .2, {3}, 1]]WeakStationarity[FARIMAProcess[{}, .2, {3}, 1]]WeakStationarity[FARIMAProcess[{Subscript[a, 1], Subscript[a, 2]}, d, {Subscript[b, 1], Subscript[b, 2]}, σ^2]]TimeSeriesInvertibility[FARIMAProcess[{Subscript[a, 1], Subscript[a, 2]}, d, {Subscript[b, 1], Subscript[b, 2]}, σ^2]]proc = FARIMAProcess[{1 / 3}, 1 / 4, {1, 2}, 1];TimeSeriesInvertibility[proc]ToInvertibleTimeSeries[proc]估计方法 (2)
估计 FARIMAProcess 的可用方法:
methods = {Automatic, "SpectralEstimator"};SeedRandom[111];
data = RandomFunction[FARIMAProcess[{.4}, -.4, {.3}, 1], {100}];Grid[res = Table[{m, EstimatedProcess[data, FARIMAProcess[1, 1], ProcessEstimator -> m]}, {m, methods}], Frame -> All, Spacings -> {1, 2}, Alignment -> {Left, Center}]LogLikelihood[#[[2]], data]& /@ resmethods = {Automatic, "SpectralEstimator", "MethodOfMoments"};SeedRandom[11];
data = RandomFunction[FARIMAProcess[{}, -.4, {}, 1], {100}];Grid[res = Table[{m, EstimatedProcess[data, FARIMAProcess[0, 0], ProcessEstimator -> m]}, {m, methods}], Frame -> All, Spacings -> {1, 2}, Alignment -> {Left, Center}]谱估计允许您指定用于 PowerSpectralDensity 计算的窗:
SeedRandom[11];
data = RandomFunction[FARIMAProcess[{.4, .2}, .3, {.3}, 1], {100}];Grid[Table[{m, EstimatedProcess[data, FARIMAProcess[2, 1], ProcessEstimator -> {"SpectralEstimator", "Window" -> m}]}, {m, {10, BartlettWindow, {3, HannWindow}}}], Frame -> All, Spacings -> {1, 2}, Alignment -> {Left, Center}]solvers = {Automatic, "FindMinimum", "NMinimize"};Grid[Table[{m, EstimatedProcess[data, FARIMAProcess[2, 1], ProcessEstimator -> {"SpectralEstimator", Method -> m}]}, {m, solvers}], Frame -> All, Spacings -> {1, 2}, Alignment -> {Left, Center}]EstimatedProcess[data, FARIMAProcess[{.1, b}, d, {m}, v], ProcessEstimator -> "SpectralEstimator"]EstimatedProcess[data, FARIMAProcess[{b, b}, d, {m}, v], ProcessEstimator -> "SpectralEstimator"]过程切片性质 (5)
单一时间 SliceDistribution:
SliceDistribution[FARIMAProcess[{.1}, .2, {.4}, 1], t]SliceDistribution[FARIMAProcess[{.1}, .2, {.4}, 1], {s, s + 3}]SliceDistribution[FARIMAProcess[{.1}, .2, {.4}, 1], {1, 2, 3}]pdf = PDF[FARIMAProcess[{.1}, .2, {.4}, 1][t], x]Plot[pdf, {x, -4, 4}, Filling -> Axis]μ = Mean[FARIMAProcess[{.1}, .2, {.4}, 1][∞]]v = Variance[FARIMAProcess[{.1}, .2, {.4}, 1][∞]]PDF[NormalDistribution[μ, Sqrt[v]], x]FullSimplify[% - PDF[FARIMAProcess[{.1}, .2, {.4}, 1][∞], x]]Expectation[x[t]^2, xFARIMAProcess[{.1}, .2, {.4}, 1.]]Probability[x[t] < 6, xFARIMAProcess[{.1}, .2, {.4}, 1]]Skewness[FARIMAProcess[{.1}, .2, {.4}, 1][t]]Kurtosis[FARIMAProcess[{.1}, .2, {.4}, 1][t]]阶数 r 的 Moment:
Moment[FARIMAProcess[{.1}, .2, {.4}, 1][t], r]CharacteristicFunction[FARIMAProcess[{.1}, .2, {.4}, 1][t], w]MomentGeneratingFunction[FARIMAProcess[{.1}, .2, {.4}, 1][t], w]CentralMoment 及其母函数:
CentralMoment[FARIMAProcess[{.1}, .2, {.4}, 1][t], r]CentralMomentGeneratingFunction[FARIMAProcess[{.1}, .2, {.4}, 1][t], w]对于符号式阶数,FactorialMoment 无解析形式:
FactorialMoment[FARIMAProcess[{.1}, .2, {.4}, 1][t], 3]FactorialMomentGeneratingFunction[FARIMAProcess[{.1}, .2, {.4}, 1][t], w]Cumulant 及其母函数:
Cumulant[FARIMAProcess[{.1}, .2, {.4}, 1][t], r]CumulantGeneratingFunction[FARIMAProcess[{.1}, .2, {.4}, 1][t], w]表示法 (1)
使用 ARMAProcess 近似:
ARMAProcess[FARIMAProcess[{.2, .3}, .4, {.1}, 1], {5, 3}]使用 MAProcess 近似:
MAProcess[FARIMAProcess[{.2, .3}, .4, {.1}, 1], 5]使用 ARProcess 近似:
proc = FARIMAProcess[{.2, .3}, .4, {.1}, 1];
aproc = ARProcess[proc, 5]SeedRandom[13];sample = RandomFunction[proc, {100}];
SeedRandom[13];asample = RandomFunction[aproc, {100}];
ListLinePlot[{sample, asample}, PlotLegends -> {"FARIMA", "AR"}]应用 (1)
NileFlow = TemporalData[TimeSeries, {{{1157, 1088, 1169, 1169, 984, 1322, 1178, 1103, 1211, 1292, 1124, 1171,
1133, 1227, 1142, 1216, 1259, 1299, 1232, 1117, 1155, 1232, 1083, 1020, 1394, 1196, 1148, 1083,
1189, 1133, 1034, 1157, 1034, 1097, 1299, 1 ... 1187, 1254, 1198, 1263, 1283, 1252, 1160,
1234, 1234, 1232, 1306, 1205, 1054, 1151, 1108, 1097}}, {{622, 1284, 1}}, 1, {"Continuous", 1},
{"Discrete", 1}, 1, {ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, False,
10.1];ListLinePlot[NileFlow, Filling -> Axis, PlotRange -> {{622, 1284}, All}]cNileFlow = Standardize[NileFlow, Mean, 1&]eproc = EstimatedProcess[cNileFlow, FARIMAProcess[{a}, d, {}, v]]f = TimeSeriesForecast[eproc, cNileFlow, {1, 100}]forecast = Mean[NileFlow] + fListLinePlot[{NileFlow, forecast}, Filling -> Axis, PlotRange -> {{622, 1384}, All}]属性和关系 (5)
Sum[CorrelationFunction[FARIMAProcess[{}, d, {}, 1], h], {h, 0, ∞}, Assumptions -> -1 / 2 < d < 0]sums = Accumulate[CorrelationFunction[FARIMAProcess[{}, .3, {}, 1], {0, 1000}]];
ListPlot[sums]对于正积分阶数,FARIMAProcess 有长记忆:
proc[d_] := FARIMAProcess[{}, d, {}, 1];DiscretePlot[CovarianceFunction[proc[#], k], {k, 1, 50, 5}, ExtentSize -> 1 / 2, PlotRange -> {-.3, .6}, PlotLabel -> StringJoin["d = ", ToString[#]]]& /@ {-.3, -.2, .2, .3}FARIMAProcess 是 ARMAProcess 的一个推广:
TransferFunctionModel[FARIMAProcess[{Subscript[a, 1], Subscript[a, 2]}, 0, {Subscript[b, 1], Subscript[b, 2]}, σ^2], z]TransferFunctionModel[ARMAProcess[{Subscript[a, 1], Subscript[a, 2]}, {Subscript[b, 1], Subscript[b, 2]}, σ^2], z]% - %%FARIMAProcess 是 ARProcess 的一个推广:
TransferFunctionModel[FARIMAProcess[{Subscript[a, 1], Subscript[a, 2]}, 0, {}, σ^2], z]TransferFunctionModel[ARProcess[{Subscript[a, 1], Subscript[a, 2]}, σ^2], z]% - %%FARIMAProcess 是 MAProcess 的一个推广:
TransferFunctionModel[FARIMAProcess[{}, 0, {Subscript[b, 1], Subscript[b, 2]}, σ^2], z]TransferFunctionModel[MAProcess[{Subscript[b, 1], Subscript[b, 2]}, σ^2], z]% - %%可能存在的问题 (2)
ToInvertibleTimeSeries 不是总存在:
ToInvertibleTimeSeries[FARIMAProcess[{.2}, .3, {.3, 1}, .2]]sample = RandomFunction[FARIMAProcess[{}, .2, {}, .1], {1, 10 ^ 3}];EstimatedProcess[sample, FARIMAProcess[{a}, d, {b}, v], ProcessEstimator -> "MethodOfMoments"]EstimatedProcess[sample, FARIMAProcess[{a}, d, {b}, v], ProcessEstimator -> Automatic]巧妙范例 (2)
模拟三维 FARIMAProcess:
A = {{.2, .1, .1}, {0, -.2, .3}, {.2, -.1, .3}};
B = {{.1, .2, -.1}, {-.1, .3, .1}, {.1, .1, 0}};
S = {{.8, .1, -.2}, {.1, .5, .1}, {-.2, .1, .3}};
proc = FARIMAProcess[{A}, {.3, .2, .4}, {B}, S];
data = RandomFunction[proc, {100}, k = 3]["ValueList"];Graphics3D@Table[{ColorData["SolarColors"][RandomReal[]], Tube@Line@data[[i]]}, {i, k}]data = RandomFunction[FARIMAProcess[{.3}, .2, {.6}, 1], {50}, 200];sd = data["SliceData", 50];cf = ColorData["Rainbow"];
sliced = BarChart[Last[#], Axes -> False, BarOrigin -> Left, AspectRatio -> 4, ChartStyle -> (cf /@ Rescale[MovingAverage[First[#], 2], {Min[sd], Max[sd]}, {0, 1}]), ImageSize -> 55]&[HistogramList[sd, {Range[Min[sd], Max[sd], (Max[sd] - Min[sd]) / 20]}]];ListLinePlot[data, ImageSize -> 400, PlotRange -> All,
AspectRatio -> 3 / 4, Epilog -> Inset[sliced, {51, 0}, {0, 10}], PlotStyle -> (cf /@ Rescale[sd]), BaseStyle -> Directive[Thin, Opacity[0.5]], PlotRangePadding -> {{0, 15}, {.5, .5}}]相关指南
-
▪
- 时间序列过程
文本
Wolfram Research (2012),FARIMAProcess,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FARIMAProcess.html.
CMS
Wolfram 语言. 2012. "FARIMAProcess." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/FARIMAProcess.html.
APA
Wolfram 语言. (2012). FARIMAProcess. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/FARIMAProcess.html 年
BibTeX
@misc{reference.wolfram_2026_farimaprocess, author="Wolfram Research", title="{FARIMAProcess}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/FARIMAProcess.html}", note=[Accessed: 09-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_farimaprocess, organization={Wolfram Research}, title={FARIMAProcess}, year={2012}, url={https://reference.wolfram.com/language/ref/FARIMAProcess.html}, note=[Accessed: 09-September-2026]}