|
Statistics`MultinormalDistribution`
多変量データ解析に最もよく使用される確率分布は,多変量正規(多変数ガウス)分布から導出されるものである.このパッケージには,多変量正規分布,多変量スチューデント 分布,Wishart(ウィッシャート)分布,Hotelling(ホテリング)の 検定,2次形式の分布が含まれている.
分布は通常,記号形式name[ , , ... ]で表される.パラメータが多いときはリストに編成される.これはQuadraticFormDistributionの場合も同様である.統計分布の特性を与えるMeanのような関数は,引数として分布の記号表現を取る.

多変量ガウス分布から導出される標準的な確率分布
平均ベクトルが で共分散行列が であるp変量の多変量正規分布は と表される. (ここで )の分布が ( はゼロベクトル)で,Xが 次の行ベクトル からなる のデータ行列を表すなら, の行列 はスケール行列が で自由度のパラメータが のWishart分布 を持つ.Wishart分布は多変量正規分布の標本共分散行列を示すときに最もよく使われる.
多変量スチューデントt 分布を持つべクトルは,多変量正規分布のランダムベクトルの関数として書くことができる. が共分散行列 を持つ標準化された多変量正規分布のベクトルとし, が自由度 のカイ2乗変数とする. は標準化されているので, は の平均ベクトルであり, は の相関行列でもある. は相関行列が で自由度が の多変量 分布を持ち, と表される.多変量スチューデント 分布は多変量正規分布のように楕円形を描き,標準偏差に対する多変量正規ベクトルの比が,どの変量についても共通であるという特徴を持つ. ( は単位行列)で のとき,多変量 分布は多変量コーシー分布と同じである.
HotellingのT 分布は,F比分布に比例した1変量分布である.ベクトル と行列 がそれぞれ , と独立に分布しているなら, はパラメータ と のHotellingの 分布を持ち, と書き表される.この分布は一般に2つの母集団間の標本のマハラノビス距離を示すために使われる.
分布が の多変量正規ベクトル の2次形式は で与えられる.ここで は の対称行列, は ベクトル, はスカラーである.この1変量分布は多変量正規分布の標本を判別分析する場合に便利である.

多変量分布に適用できる1変量分布の関数
このパッケージでは,分布は記号形式で表されている.一般にPDF[dist, x]は が数値,ベクトル,行列のいずれかの場合には における密度を評価するが,それ以外の場合は関数は記号形式のままである.同様に,CDF[dist, x]は指定された分布の累積分布を,CharacteristicFunction[dist, t]は特性関数を与える.
上記の式の明確な形式が利用できないこともある.例えば,PDF[QuadraticFormDistribution[ A, b, c , mu, sigma ], x]は評価しないが,領域の下限の支点(正の有限の2次形式の場合)付近のPDFのSeries展開は評価する.MultinormalDistributionとStudentTDistributionのCDFは数値のベクトル引数には利用できるが,記号的なベクトル引数には利用できない.MultivariateTDistributionの場合はCharacteristicFunctionは積分形式で表現される.
CDF[MultinormalDistribution[mu,sigma],x]の共分散行列 とCDF[MultivariateTDistribution[r, m], x]の相関行列 には制約がある.行列 は のときは という形式を, のときは という形式を取らなければならない(ここで ).同様に行列 は のときは という形式を, のときは という形式を取らなければならない(ここで ).このような累積分布関数の計算方法については,Y. L. Yong著「The Multivariate Normal Distribution」(Springer-Verlag, 1990)が参考になる.
MultinormalDistributionやMultivariateTDistributionなどベクトル値の分布では,Mean,Variance,Kurtosisのような関数はベクトルの各座標に適用され,ベクトル値の結果を与える.同様に,WishartDistributionなどの行列値の分布では,これらの関数は行列値の結果を与える.
パッケージをロードする.
In[1]:= <<Statistics`MultinormalDistribution`
標準化された2変量正規分布の記号表現である.標準化されたランダムベクトルは平均ベクトルがゼロで,共分散行列はその相関行列に等しい.
In[2]:= (r = {{1, 1/Sqrt[3]}, {1/Sqrt[3], 1}}; ndist = MultinormalDistribution[{0, 0}, r])
Out[2]= 
確率密度関数を与える.
In[3]:= pdf = PDF[ndist, {x1, x2}]
Out[3]= 
分布を観測するために密度プロットを作成することができる.
In[4]:= Plot3D[pdf, {x1, -3, 3}, {x2, -3, 3}, PlotRange->All]

Out[4]= 
領域 における分布の確率である.
In[5]:= CDF[ndist, {-1, 1}]
Out[5]= 
以下により,2次形式の分布qdistの領域が与えられる.
In[6]:= (qdist = QuadraticFormDistribution[{{{8, -4}, {-4, 3}}, {-2, 1}, 6}, {{-1, 1}, {{1, 1}, {1, 2}}}]; Domain[qdist])
Out[6]= 
2次形式の分布のPDFの級数展開がプロットできる.20項の展開は では明らかに劣る.
In[7]:= (polynomial = Normal[Series[PDF[qdist, x], {x, 47/8, 20}]]; Plot[polynomial, {x, 47/8, 50}])

Out[7]= 
多変量分布の多くには,分布が最初に入力されたときに評価される隠れた引数がある.このような引数が1回だけ評価される場合は,ランダム変数を生成した方が効率がよい.
以下の方法では共分散行列のコレツキー(Cholesky)分解が各変量について計算されるので,1000の多変量正規分布の変量を計算するのには非効率的である.
In[8]:= (mu = {1, 2, 3, 4}; sigma = {{1, 1/2, 1/3, 1/4}, {1/2, 1/3, 1/4, 1/5}, {1/3, 1/4, 1/5, 1/6}, {1/4, 1/5, 1/6, 1/7}}; Timing[Table[Random[MultinormalDistribution[mu, sigma]], {1000}]][[1]])
Out[8]= 
以下の方法で1000の変量を生成するとコレツキー分解が1度しか計算されないので,上の方法より効率的である.
In[9]:= Timing[RandomArray[ MultinormalDistribution[mu, sigma], 1000]][[1]]
Out[9]= 

多変量分布に適用できない1変量分布の関数
多変量の場合,ランダムベクトル(またはランダム行列)の値の多くが1つの確率値に対応するので,QuantileをCDF関数の逆関数と定義することが難しい.このパッケージではQuantileを1変量分布のHotellingTSquareDistribution,また他の分布がわずかに縮退した場合のためだけに定義している.楕円分布のMultinormalDistribution,MultivariateTDistributionはEllipsoidQuantileとその逆関数のRegionProbabilityをサポートしている.

ベクトル値の多変量分布の関数
平均値を中心に,ndist分布の50%を包囲する楕円を与える.
In[10]:= ellipse = EllipsoidQuantile[ndist, .5]
Out[10]= 
楕円内の分布の確率を与える.楕円は,先に指定された分布の確率曲線に対応しなければならない.
In[11]:= RegionProbability[ndist, ellipse]
Out[11]= 
に近付くに従って,MultivariateTDistribution[m, r]の 番目の楕円は,平均ベクトルがゼロで共分散行列が である多変量正規分布の 番目の楕円に近付く.
In[12]:= Show[Graphics[{ellipse, {Dashing[{.04, .02}], EllipsoidQuantile[ MultivariateTDistribution[r, 2], .5]}, {Dashing[{.02, .04}], EllipsoidQuantile[ MultivariateTDistribution[r, 1], .5]}} ], Axes->True]

Out[12]= 
|