FARIMAProcess[{a1,…,ap},d,{b1,…,bq},v]
d
次差分がARMAProcess[{a1,…,ap},{b1,…,bq},v]であるような,FARIMA(自己回帰実数和分移動平均)過程
を表す.
FARIMAProcess[{a1,…,ap},d,{b1,…,bq},Σ]
(d,…,d)次差分がベクトルARMAProcessであるような,ベクトルFARIMA過程(y1(t),… ,yn(t))を表す.
FARIMAProcess[{a1,…,ap},{d1,…,dn},{b1,…,bq},Σ]
(d1,…,dn)
次差分がベクトルARMAProcessであるような,ベクトルFARIMA過程(y1(t),… ,yn(t))を表す.
FARIMAProcess
FARIMAProcess[{a1,…,ap},d,{b1,…,bq},v]
d
次差分がARMAProcess[{a1,…,ap},{b1,…,bq},v]であるような,FARIMA(自己回帰実数和分移動平均)過程
を表す.
FARIMAProcess[{a1,…,ap},d,{b1,…,bq},Σ]
(d,…,d)次差分がベクトルARMAProcessであるような,ベクトルFARIMA過程(y1(t),… ,yn(t))を表す.
FARIMAProcess[{a1,…,ap},{d1,…,dn},{b1,…,bq},Σ]
(d1,…,dn)
次差分がベクトルARMAProcessであるような,ベクトルFARIMA過程(y1(t),… ,yn(t))を表す.
詳細
- FARIMAProcessは,ARFIMAあるいは長期記憶時系列としても知られている.
- FARIMAProcessは,離散時間・連続状態のランダム過程である.
- FARIMA過程は差分方程式
で説明される.ただし,
は状態出力,
はホワイトノイズ入力,
はシフト演算子である. - スカラーFARIMA過程には伝達関数
がある.ただし,
である. - ベクトルFARIMA 過程には伝達行列
がある.ただし,
であり,
は
×
恒等行列である. - スカラーFARIMA過程には,実数係数 ai,bj,
となるような実数の和分母数 d,正の分散 v がなければならない.
次元のベクトルFARIMA過程には,次元が
×
の実数係数行列 aiと bj,
となるような実数の和分母数 di,あるいは
となるような実数和分の母数 d がなければならず,共分散行列 Σ は次元
×
の正定値対称行列でなければならない.- FARIMAProcess[p,d,q]およびFARIMAProcess[p,q]は,EstimatedProcessおよび関連関数で使用するための,既知あるいは未知の積分次数 d を持つ次数 p および q のFARIMA過程を表す.
- 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]数値的に使用できる自己回帰要素と移動平均要素を含むFARIMAについて:
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)
西暦622年から1284年までのナイル川の年ごとの最低水位を,時系列として考察する:
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]}]];50におけるスライス分布の経路とヒストグラム分布をプロットする:
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 Language. 2012. "FARIMAProcess." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/FARIMAProcess.html.
APA
Wolfram Language. (2012). FARIMAProcess. Wolfram Language & System Documentation Center. Retrieved from 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: 12-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: 12-September-2026]}