Wolfram
Mathematica
8의 신기능: 매개 변수 확률 분포
◄
이전
|
다음
►
핵심 알고리즘
극한 분포
확률 변수의 총합, 최소화, 최대화 등의 작업은 반복시 몇몇의 극한 분포만을 수렴할 수 있습니다. 이러한 극한 분포로는
NormalDistribution
,
StableDistribution
,
MinStableDistribution
, 그리고
MaxStableDistribution
등을들 수 있으며, 이들 모두는 Mathematica 8에 포함되어 있습니다.
In[1]:=
X
clt = With[{parent\[ScriptCapitalD] = ExponentialDistribution[1]}, Table[Show[ Histogram[ RandomVariate[ TransformedDistribution[(Total[Array[x, n]] - Mean[parent\[ScriptCapitalD]] n)/(StandardDeviation[ parent\[ScriptCapitalD]] Sqrt[n]), Array[x, n] \[Distributed] ProductDistribution[{parent\[ScriptCapitalD], n}]], 10^5], 50, "PDF"], Plot[PDF[NormalDistribution[], x], {x, -3, 3}, PlotStyle -> Directive[Thick, Orange], PlotRange -> All], PlotLabel -> HoldForm[n] == n], {n, {5, 10, 500}}]];
In[2]:=
X
gclt = With[{\[Alpha] = 2/5}, With[{parent\[ScriptCapitalD] = ParetoDistribution[1, \[Alpha]]}, Table[Show[ Histogram[ RandomVariate[ TransformedDistribution[(Total[Array[x, n]])/n^(1/\[Alpha]), Array[x, n] \[Distributed] ProductDistribution[{parent\[ScriptCapitalD], n}]], 10^5], {-1/10, 4, 1/20}, "PDF"], Plot[PDF[ TruncatedDistribution[{-1/10, 4}, StableDistribution[1, \[Alpha], 1, 0, (( Pi Csc[(Pi \[Alpha])/2])/(2 Gamma[\[Alpha]]))^( 1/\[Alpha])]], x], {x, -1/10, 4}, PlotStyle -> Directive[Thick, Orange], PlotRange -> All], PlotLabel -> HoldForm[n] == n], {n, {5, 10, 500}}]]];
In[3]:=
X
max = With[{dist = NormalDistribution[], one = 1.0}, Table[With[{invsf1 = InverseSurvivalFunction[dist, one/n], invsf2 = InverseSurvivalFunction[dist, one/(n E)]}, Show[ Histogram[ RandomVariate[ TransformedDistribution[(x - invsf1)/ (invsf2 - invsf1), x \[Distributed] OrderDistribution[{dist, n}, n]], 10^5], 60, "PDF"], Plot[PDF[MaxStableDistribution[0, 1, 0], x], {x, -3, 8}, PlotRange -> All, PlotStyle -> Directive[Orange, Thick]], PlotLabel -> HoldForm[n] == n]], {n, {5, 10, 500}}]];
In[4]:=
X
Grid[Join[{Style[DisplayForm[FormBox[#, TraditionalForm]], 12] & /@ {RowBox[{FractionBox["1", RowBox[{SqrtBox["n"], " ", "\[Sigma]"}]], RowBox[{"(", RowBox[{SubscriptBox["x", "1"], "+", "\[Ellipsis]", "+", SubscriptBox["x", "n"], "-", RowBox[{"\[Mu]", " ", "n"}]}], ")"}]}], RowBox[{FractionBox["1", SuperscriptBox["n", RowBox[{"1", "/", "\[Alpha]"}]]], RowBox[{"(", RowBox[{SubscriptBox["x", "1"], "+", "\[Ellipsis]", "+", SubscriptBox["x", "n"]}], ")"}]}], RowBox[{RowBox[{SubscriptBox["a", "n"], " ", RowBox[{"max", "(", RowBox[{SubscriptBox["x", "1"], ",", "\[Ellipsis]", ",", SubscriptBox["x", "n"]}], ")"}]}], "+", SubscriptBox["b", "n"]}]}}, {clt, gclt, max} // Transpose, {Style[#, 14, Bold, FontFamily -> "Helvetica"] & /@ {NormalDistribution, StableDistribution, MaxStableDistribution}}], Dividers -> {{False, True, True, False}, {False, True, True, True, False, {False}}}, FrameStyle -> LightGray]
Out[4]=