Cumulant
詳細
- r
次キュムラント
は,形式的にはCumulantGeneratingFunctionのテイラー(Taylor)級数
の係数として定義される. - 次は,モーメントによって表現される最初のいくつかのキュムラントである.
-






- 一般に,MomentConvert[Cumulant[r],"Moment"]はモーメントによって
を与える. - Cumulant[data,r]は,事実上,MomentConvertを使ってデータについての他のモーメントによってこれを計算する.
- x∈Arrays[{n1,n2,… ,nk}]のとき,Cumulant[x,r]はArrayReduce[Cumulant[#,r]&,data,1]に等しい. »
- x∈Arrays[{n1,n2,… ,nk}]のとき,Cumulant[x,{r1,…,rm}]はArrayReduce[Cumulant[#,{r1,…,rm}]&,x,{{1},{2}}]に等しい. »
- Cumulantは,数値データと数式データの両方を扱う.
- data は,以下の追加的な形式と解釈を持つことができる.
-
Association 値(キーは無視される) » WeightedData もとになっているEmpiricalDistributionに基づく加重平均 » EventData もとになっているSurvivalDistributionに基づく » TimeSeries, TemporalData, … のベクトルまたは配列(タイムスタンプは無視される) » Image,Image3D RGBチャンネル値またはグレースケールの強度値 » Audio すべてのチャンネルの振幅値 » DateObject, TimeObject 日付のリストまたは時間のリスト » - 分布 dist については G=CumulantGeneratingFunction[
,…]である. -
Cumulant[
,r]
»Cumulant[dist,{r1,…,rm}]
» - ランダム過程 proc については,キュムラント関数は時点 t におけるスライス分布SliceDistribution[proc,t]について,
[t]=Cumulant[SliceDistribution[proc,t],r]として計算することができる. » - Cumulant[r]は,MomentConvertやMomentEvaluate等の関数で使うことができる. »
例題
すべて開く すべて閉じる例 (3)
data = RandomVariate[LogisticDistribution[0, 1], 10 ^ 5];Cumulant[data, 2]Cumulant[{Subscript[x, 1], Subscript[x, 2], Subscript[x, 3]}, 2]Cumulant[{Yesterday, Today, Tomorrow}, 4]Cumulant[GammaDistribution[α, β], 2]Cumulant[DirichletDistribution[{α, β, γ}], {1, 2}]スコープ (26)
基本的な用法 (6)
Cumulant[{1, 2, 3, 4}, 2]Cumulant[{π, E, 2}, 1]Cumulant[{1., 2., 3., 4.}, 2]Cumulant[N[{1, 2, 3, 4}, 30], 2]WeightedDataのキュムラントを求める:
Cumulant[WeightedData[{1, 2, 3}, {Subscript[w, 1], Subscript[w, 2], Subscript[w, 3]}], 1]data = {8, 3, 5, 4, 9, 0, 4, 2, 2, 3};
weights = {0.15, 0.09, 0.12, 0.10, 0.16, 0., 0.11, 0.08, 0.08, 0.09};Cumulant[WeightedData[data, weights], 2]EventDataのキュムラントを求める:
e = {1.0, 2.1, 3.2, 4.5, 5.7};
ci = {0, 0, 0, 1, 0};Cumulant[EventData[e, ci], 1]TimeSeriesのキュムラントを求める:
Cumulant[TemporalData[TimeSeries, {{{2.3, 1.2, 6.7, 5.8, 7.1, 4.6}}, {{0, 5, 1}}, 1, {"Discrete", 1},
{"Discrete", 1}, 1, {}}, False, 10.], 2]Cumulant[TemporalData[TimeSeries, {{{2.3, 1.2, 6.7, 5.8, 7.1, 4.6}}, {{0, 5, 1}}, 1, {"Discrete", 1},
{"Discrete", 1}, 1, {}}, False, 10.]["Values"], 2]data = Quantity[RandomReal[1, 6], "Meters"]Cumulant[data, 2]配列データ (5)
Cumulantは,行列に対しては列ごとの平均を与える:
Cumulant[(| | |
| ----- | ----- |
| a1, 1 | a1, 2 |
| a2, 1 | a2, 2 |), 4]//SimplifyCumulantは,配列に対しては第1レベルの列ごとの平均を与える:
Cumulant[Array[Subscript[a, ##]&, {2, 2, 2}], 4]//Simplify//MatrixFormCumulant[Array[Subscript[a, ##]&, {2, 2, 2}], {4, 4}]//SimplifyCumulant[RandomReal[1, 10 ^ 7], 2]Cumulant[RandomReal[1, {10 ^ 6, 5}], 2]入力がAssociationのとき,Cumulantはその値に作用する:
mat = RandomReal[1, {3, 2}];
assoc = AssociationThread[Range[3], mat]Cumulant[assoc, 3]SparseArrayデータは密な配列のように使うことができる:
Cumulant[SparseArray[{{1} -> 1, {100} -> 1}], 4]Cumulant[SparseArray[{{1, 1} -> 1, {2, 2} -> 2, {3, 3} -> 3, {1, 3} -> 4}], 2]配列の多変量キュムラントをその生のモーメントについて計算する:
(f = MomentConvert[Cumulant[{3, 3}], Moment])//Simplify//TraditionalForm//Shortarr = RandomReal[1, {2, 2, 2}, WorkingPrecision -> 50];c1 = Cumulant[arr, {3, 3}]c2 = (f /. Moment[l_] :> Moment[arr, l])c1 == c2画像データと音声データ (2)
Cumulant[[image], 5]RGBColor[%]Cumulant[[image], 4]Cumulantは,音声オブジェクトに対してはチャンネルごとに作用する:
a = ExampleData[{"Audio", "Bee"}]AudioMeasurements[a, "Channels"]Cumulant[a, 3]日付と時間 (4)
dates = WolframLanguageData[All, "DateIntroduced"];DateHistogram[dates]Cumulant[dates, 4]UnitConvert[%, "Decades" ^ 4]dates = RandomDate[4]weights = {1, 1, 1, 3};Cumulant[WeightedData[dates, weights], 3]UnitConvert[%, "Months" ^ 3]Cumulant[dates, 3]UnitConvert[%, "Months" ^ 3]dates = {DateObject[{2024, 2, 29}, CalendarType -> "Julian"], DateObject[{1524, 1, 1}, CalendarType -> "Islamic"], DateObject[{6024, 1, 15}, CalendarType -> "Jewish"]}Cumulant[dates, 3]UnitConvert[%, "Centuries" ^ 3]RandomTime[3]Cumulant[%, 4]{TimeObject[{12}, TimeZone -> 0], TimeObject[{12}, TimeZone -> 2], TimeObject[{12}, TimeZone -> "Asia/Tokyo"]}Cumulant[%, 3]分布キュムラントと過程キュムラント (5)
Cumulant[BinomialDistribution[n, p], 1]Cumulant[NormalDistribution[μ, σ], 2]Cumulant[BinormalDistribution[{Subscript[μ, 1], Subscript[μ, 2]}, {σ1, σ2}, ρ], 2]Cumulant[DirichletDistribution[{a, b, c}], 2]//SimplifyCumulant[MultivariateHypergeometricDistribution[n, {Subscript[m, 1], Subscript[m, 2]}], {1, 1}]Cumulant[BinormalDistribution[{Subscript[μ, 1], Subscript[μ, 2]}, {σ1, σ2}, ρ], {1, 1}]Cumulant[PoissonDistribution[μ], r]キュムラントは特定の次数についてしか評価できないことがある:
Cumulant[BetaDistribution[α, β], r]% /. r -> 2Cumulant[VonMisesDistribution[Pi / 2, 2], 4]N[%]Cumulant[TransformedDistribution[x^2, xNormalDistribution[μ, σ]], 2]Cumulant[ProbabilityDistribution[(Exp[1 - x] x (1 - x)/3 - E), {x, 0, 1}], 3]data = RandomVariate[NormalDistribution[], 10 ^ 3];Cumulant[HistogramDistribution[data], 1]Cumulant[QueueingProcess[λ, μ, ∞][t], 2]Plot[Evaluate[% /. {λ -> 1, μ -> 3}], {t, 0, 1}, PlotRange -> All]時点 t=0.5におけるTemporalDataのキュムラントを求める:
td = RandomFunction[WienerProcess[1, 1], {0, 10, 0.05}, 100]Cumulant[td[0.5], 1]対応するキュムラント関数をすべてのシミュレーションとともに求める:
Show[ListLinePlot[td, PlotStyle -> Directive[Opacity[0.7], Thin]], Plot[Cumulant[td[t], 1], {t, 0, 10}, PlotStyle -> Thick]]形式的なキュムラント (4)
形式的なキュムラントのTraditionalFormによる表示:
Cumulant[r]//TraditionalFormCumulant[{p, q, r}]//TraditionalForm形式的なモーメントの組合せをCumulantを含む式に変換する:
MomentConvert[Moment[4], Cumulant]//TraditionalFormMomentConvert[CentralMoment[2]Moment[2], Cumulant]//TraditionalFormMomentEvaluate[Cumulant[1] + Cumulant[2], BetaDistribution[α, β]]data = RandomVariate[BetaDistribution[2, 3], 10^4];MomentEvaluate[Cumulant[1] + Cumulant[2], data]Cumulantを含む式についてのサンプル推定量を求める:
estimator = MomentConvert[Cumulant[1], "UnbiasedSampleEstimator"]data = RandomVariate[PoissonDistribution[1], 10^4];MomentEvaluate[estimator, data]アプリケーション (5)
data = RandomVariate[BetaDistribution[3, 6], 10 ^ 4];NSolve[Table[Cumulant[data, k] == Cumulant[BetaDistribution[a, b], k], {k, 1, 2}], {a, b}]大数の法則にはサンプルサイズが大きくなるにつれてサンプルモーメントは母集団のモーメントに近付くとある.Histogramを使い,さまざまなサンプルサイズについて,標準正規確率変量のサンプルキュムラント
の確率分布を示す:
Histogram[Table[Cumulant[RandomReal[NormalDistribution[], {n, 10 ^ 3}], 3], {n, {10, 10^2, 10^4}}], 50, "ProbabilityDensity", ChartLegends -> {10, 10^2, 10^4}]EdgeworthSeries[p_ /; p ≥ 2, y_] := With[{z = (y - Cumulant[1]), σ = Sqrt[Cumulant[2]]}, PDF[NormalDistribution[0, σ], z](1 + Sum[(σ^s/2^(s/2) + rs!)HermiteH[s + 2r, (z/Sqrt[2]σ)]BellY[s, r, Table[(Cumulant[k]/(k - 1)k σ^2k - 2), {k, 3, p}]], {s, p - 2}, {r, s}])]SechDistributionを近似する:
dist = SechDistribution[1, 2];pdf = MomentEvaluate[EdgeworthSeries[4, y], dist]Plot[{pdf, PDF[dist, y]}, {y, -5, 5}, PlotRange -> All]data = TemporalData[TimeSeries, {{{0., 0.06114665305643561, 0.23896662440972682, 0.30268800326923,
0.35534116766660545, 0.42472631677502126, 0.3966448861155263, 0.41578142003045876,
0.3468861633239847, 0.3381046650827597, 0.38002782955469216, 0. ... 208767424126402, 2.118103218029293, 2.18195782653722,
2.087973123089836}}, {{0, 1., 0.01}}, 1, {"Continuous", 1}, {"Continuous", 1}, 1,
{ValueDimensions -> 1, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, False,
10.1];mc = MovingMap[Cumulant[#, 2]&, data, .1];ListLinePlot[mc, PlotRange -> All]ランダム過程の経路集合のスライスについてキュムラントを計算する:
data = RandomFunction[WienerProcess[], {0, 1, .01}, 10 ^ 3];times = Range[0, 1, .1];cm = Map[{#, Cumulant[data[#], 2]}&, times];Show[ListPlot[data], ListLinePlot[cm, PlotStyle -> Green]]特性と関係 (5)
MomentConvert[Cumulant[1], Moment]MomentConvert[Cumulant[2], CentralMoment]MomentConvert[Cumulant[3], CentralMoment]キュムラント
はキュムラント母関数の ![]()
次導関数とゼロ
において等しい:
cgf = CumulantGeneratingFunction[ExponentialDistribution[λ], t]SeriesCoefficient[cgf r!, {t, 0, r}]Cumulantを直接使う:
Cumulant[ExponentialDistribution[λ], r]GeneratingFunctionを使ってキュムラント母関数を求める:
Cumulant[PoissonDistribution[μ], r]cgf = GeneratingFunction[% / r!, r, t]CumulantGeneratingFunctionを使って検証する:
CumulantGeneratingFunction[PoissonDistribution[μ], t]形式的には,キュムラントはCumulantGeneratingFunction[dist,t]がLog[MomentGeneratingFunction[dist,t]]によって与えられるという事実を使って計算できる:
Clear[mgf];
Series[Log@mgf[x], {x, 0, 3}]
coeff = SeriesCoefficient[%, 3]3!rep = {mgf[0] -> 1, Derivative[n_][mgf][0] :> Moment[n]};(coeff /. rep) == MomentConvert[Cumulant[3], Moment]データについてのCumulantのサンプル推定量は偏っている:
(se = MomentConvert[Cumulant[4], "SampleEstimator"])//TraditionalFormsee = MomentConvert[se, {Cumulant, n}]PowerSymmetricPolynomialを使ってサンプルの不偏推定量を構築する:
(ue = MomentConvert[Cumulant[4], "UnbiasedSampleEstimator", PowerSymmetricPolynomial])//TraditionalFormExpand[MomentEvaluate[ue, {Subscript[x, 1], Subscript[x, 2], Subscript[x, 3], Subscript[x, 4], Subscript[x, 5]}]] /. Subscript[x, i_]^r_. :> Moment[r]MomentConvert[%, Cumulant]MomentConvert[Expand[Cumulant[{Subscript[x, 1], Subscript[x, 2], Subscript[x, 3], Subscript[x, 4], Subscript[x, 5]}, 4]] /. Subscript[x, i_]^r_. :> Moment[r], Cumulant]see /. n -> 5考えられる問題 (1)
おもしろい例題 (2)
MomentConvert[Cumulant[1]Cumulant[2]Cumulant[3], {"UnbiasedEstimator", n}, "PowerSymmetricPolynomial"]//FullSimplify//TraditionalFormMomentConvert[%, {Cumulant, n}]20個,100個,300個のサンプルについてのCumulant推定値の分布:
Cumulant[ExponentialDistribution[0.9], 2]SmoothHistogram[Table[Cumulant[RandomVariate[ExponentialDistribution[0.9], {s, 1000}], 2], {s, {20, 100, 300}}], Filling -> Axis, PlotLegends -> {20, 100, 300}, PlotRange -> {{0, 4}, Automatic}]関連するガイド
-
▪
- 統計モーメントと母関数 ▪
- 日付と時刻 ▪
- 確率変数 ▪
- 記述統計 ▪
- 記号的なベクトル,行列,配列
関連するワークフロー
- 計算可能なデータ集合を分析する
履歴
2010 で導入 (8.0) | 2024 で更新 (14.0) ▪ 2024 (14.1)
テキスト
Wolfram Research (2010), Cumulant, Wolfram言語関数, https://reference.wolfram.com/language/ref/Cumulant.html (2024年に更新).
CMS
Wolfram Language. 2010. "Cumulant." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/Cumulant.html.
APA
Wolfram Language. (2010). Cumulant. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Cumulant.html
BibTeX
@misc{reference.wolfram_2026_cumulant, author="Wolfram Research", title="{Cumulant}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/Cumulant.html}", note=[Accessed: 17-July-2026]}
BibLaTeX
@online{reference.wolfram_2026_cumulant, organization={Wolfram Research}, title={Cumulant}, year={2024}, url={https://reference.wolfram.com/language/ref/Cumulant.html}, note=[Accessed: 17-July-2026]}