データの数値処理

基本統計
Mean[list]
平均値
Median[list]
メジアン(中央値)
Max[list]
最大値
Variance[list]
分散
StandardDeviation[list]
標準偏差
Quantile[list,q]
q に当たる分位数
Total[list]
総和
基本的な記述統計操作
個の要素 を持つリストの平均Mean[list] と定義される.
分散Variance[list]は,実数データに関してはと定義される.(複素数のデータに関してはと定義される.)
標準偏差StandardDeviation[list]は,と定義される.
list 中の要素が何らかの確率分布に従ってランダムに選ばれたと考えられるなら,「平均」は分布の中央がどこにあるかを推定し,標準偏差は分布におけるばらつきの度合いを推定する.
メジアンMedian[list]は,事実上,順序付けられたリスト list の中央の値を与える.これは値の広がりに依存する度合いが低いので,分布の中央を知るための平均よりも強力な尺度であると考えられることが多い.
に当たる分位数Quantile[list,q]は,事実上順序付けしたリスト list に当たる値を与える.
長さ のリストについて,WolframシステムはQuantile[list,q]s[[Ceiling[n q]]]であると定義する.ここで,Sort[list,Less]である.
しかし,分位数の定義で使われているものはこの他にも10種類程ある.そのすべてが多少異なった結果を与える.WolframシステムはQuantile[list,q,{{a,b},{c,d}}]の形式で4つの「分位数のパラメータ」を導入して一般的な事例をカバーする.パラメータ は実際にリストのどの部分が の位置であるかを定義する.これが整数の位置に当たるときにはその位置にある要素が に当たる分位数とみなされる.これが整数の位置にないときには, で定義されているようにどちらかの側の要素の線形結合が使われる.
順序付けしたリスト 中の に当たる分位数の位置は であると考えられる. が整数の場合,分位数は である.その他の場合は である.指標が領域外にあるときは係数をあるいは と考える.
{{0,0},{1,0}}
実証的累積分布関数の逆関数(デフォルト)
{{0,0},{0,1}}
線形補間法(カリフォルニア法)
{{1/2,0},{0,0}}
に最も近い番号付き要素
{{1/2,0},{0,1}}
線形補間法(水文学者法)
{{0,1},{0,1}}
平均値に基づいた推定(ワイブル法)
{{1,-1},{0,1}}
最頻値に基づいた推定
{{1/3,1/3},{0,1}}
中央値に基づいた推定
{{3/8,1/4},{0,1}}
標準分布推定
分位数パラメータの一般的な選択肢
のときは, に当たる分位数の値は list 中の何らかの実在の要素に等しいので, が変化するに連れて結果も非連続的に変化する.なら に当たる分位数は list の連続する要素間を線形に補間する.Medianはこのような補間を使用するように定義されている.
Quantile[list,q]のときは四分位数を,ときは百分位数を返す.
Mean[{x1,x2,}]
xi の平均値
Mean[{{x1,y1,},{x2,y2,},}]
xi,yi, の平均値のリスト
多次元データの処理
データ中の各項目が値のリストを含む場合がある.Wolfram言語の基本的な統計関数はそのようなリスト中の対応するすべての要素に自動的に適用される.
これはデータの各「列」の平均を別々に求める:
list[[All,i]]を使って多次元リストから 番目の「列」中の要素を抽出することができる.
記述統計
記述統計とは,位置,分散,形等の分布の特性を示すことである.ここで扱う関数はデータのリストの記述統計を計算する.「連続分布」および「離散分布」に含まれる関数を使うと,さまざまな既知の分布の標準的な記述統計のいくつかを計算することができる.
記述統計は,データ の各値の確率が はデータ中の要素数)であるという仮定のもとに計算される.
Mean[data]
平均値
Median[data]
メジアン(中央値)
Commonest[data]
最大頻度の要素のリスト
GeometricMean[data]
幾何平均
HarmonicMean[data]
調和平均
RootMeanSquare[data]
二乗平均平方根
TrimmedMean[data,f]
並べ替えられたデータのリストの両端から割合 を除いた後に残った要素の平均
TrimmedMean[data,{f1,f2}]
並べ替えられたデータの両端からそれぞれ割合 を除いた後に残った要素の平均
Quantile[data,q]
分位数
Quartiles[data]
list の中の要素の 四分位数のリスト
位置の統計量
位置の統計量とは,データがどこに位置するかを記述するものである.最も一般的な関数には平均,中央値,最頻値など,中心傾向を表すものがある.Quantile[data,q]はデータの下からパーセントに当たる点の位置を与える.つまり,Quantileとなる確率が 以下で,となる確率が 以上である値 を与える.
データである:
データの平均と中央値を見付ける:
リストの最小要素を除外したときの平均である.TrimmedMeanを使うと,削除した外れ値を含むデータを記述することができる:
Variance[data]
分散の不偏推定量,
StandardDeviation[data]
標準偏差の不偏推定量
MeanDeviation[data]
平均絶対偏差,
MedianDeviation[data]
中央絶対偏差,の中央値
InterquartileRange[data]
第1四分位数と第3四分位数との差
QuartileDeviation[data]
四分位偏差の半分
分散の統計量
分散の統計量はデータのばらつきと広がりを要約するものである.これらの関数の大部分は指定された位置からの偏差を示す.例えば,分散とは平均からの偏差であり,標準偏差とは分散の平方根である.
除数が であるデータの分散の不偏推定値を与える:
3種類の偏差を比較する:
Covariance[v1,v2]
リスト v1v2の間の共分散係数
Covariance[m]
行列 m に対する共分散行列
Covariance[m1,m2]
行列 m1m2に対する共分散行列
Correlation[v1,v2]
リスト v1v2の間の相関係数
Correlation[m]
行列 m に対する相関行列
Correlation[m1,m2]
行列 m1m2に対する相関行列
共分散および相関統計
共分散は分散の多変量拡張である.同じ長さの2つのベクトルの場合,共分散は数値である.単独の行列 m の場合は,共分散行列の i,j 番目の要素は,m の第 i 列と第 j 列の間の共分散である.2つの行列 m1m2の場合は,共分散行列の i,j 番目の要素は,m1の第 i 列と m2の第 j 列の間の共分散である.
共分散は散らばりを測定し,相関は関連性を測定する.2つのベクトル間の相関は,そのベクトルの標準偏差で割ったベクトル間の共分散に等しい.同様に,相関行列の要素は,適切な列標準偏差でスケールされた対応する共分散行列の要素に等しい.
data と乱数ベクトルの間の共分散を与える:
乱数行列である:
行列 m に対する相関行列:
共分散行列である:
共分散行列の項を,適切な標準偏差でスケールすることにより,相関行列が与えられる:
CentralMoment[data,r]
r 次中心モーメント
Skewness[data]
歪度係数
Kurtosis[data]
尖度係数
QuartileSkewness[data]
四分位の歪度係数
形状の統計量
形状の統計量は分布の形状についての情報を得るために使われる.歪度は非対称の度合いを示す.尖度は,頂点付近と裾のデータの集中度に対するフランクの集中度を測定する.
Skewnessは,三次中心モーメントを母集団の標準偏差の3乗で除算することで求められる.Kurtosisは,四次中心モーメントをデータの母分散の2乗で除算することで求められ,CentralMoment[data,2]と等価である(母分散は二次中心モーメント,母標準偏差はその平方根である).
QuartileSkewnessはデータの四分位数から計算する.これはと等価であり, はそれぞれ第1,第2,第3四分位数である.
以下はデータの二次中心モーメントである:
歪度が負の値となる場合は,データに潜在する分布が左側に長い裾を持つことを示す:
Expectation[f[x],xlist]
list の値についての x の関数 f の期待値
期待値
関数 の期待値は,値 のリストについて である.多くの記述統計は期待値である.例えば,平均値は の期待値であり, 次中心モーメントは(ここで の平均値)の期待値である.
以下はデータのLogの期待値である:
離散分布
ここで取り上げるのは,最も広く使われている一変量の離散分布であり,その密度,平均,分散,その他の関連特性を計算することができる.分布自体は name[param1,param2,]という記号形式で表される.統計分布の特性を与えるMeanのような関数は,引数として分布の記号表現を取る.「連続分布」では多くの連続分布を説明している.
BernoulliDistribution[p]
平均 p のベルヌーイ(Bernoulli)分布
BetaBinomialDistribution[α,β,n]
成功確率がBetaDistribution[α,β]確率変数である二項分布
BetaNegativeBinomialDistribution[α,β,n]
成功確率がBetaDistribution[α,β]確率変数である負の二項分布
BinomialDistribution[n,p]
各試行における成功率を p としたときに,n 回の試行で起る成功回数の二項分布
DiscreteUniformDistribution[{imin,imax}]
imin から imax までの整数上での離散一様分布
GeometricDistribution[p]
各試行における成功率を p としたときの,最初の成功までの試行回数の幾何分布
HypergeometricDistribution[n,nsucc,ntot]
成功数 nsucc を含む大きさ ntot の母集団から標本数 n を取り出したときの成功数の超幾何分布
LogSeriesDistribution[θ]
パラメータ θ の対数級数分布
NegativeBinomialDistribution[n,p]
パラメータ n および p の負の二項分布
PoissonDistribution[μ]
平均 μ のポアソン (Poisson) 分布
ZipfDistribution[ρ]
パラメータ ρ のジップ(Zipf) 分布
離散分布
一般的な離散分布のほとんどは,「成功と失敗」のような2通りの結果が考えられる試行の連続と考えることで理解できる.
ベルヌーイ分布BernoulliDistribution[p]とは,成功(値1に対応)が p の確率で起り,失敗(値0に対応)が1-p の確率で起る1回の試行の確率分布である.
二項分布BinomialDistribution[n,p]とは,各試行における成功確率を p としたときに,n 回の独立した試行で起る成功回数の分布である.
正の整数 n に対する負の二項分布NegativeBinomialDistribution[n,p]とは,各試行における成功確率を p としたときに,n 回成功するまでに起った失敗回数の分布である.この分布は任意の正の n について定義される.しかし,n が整数でないときは,n が成功数,p が成功確率という解釈は当てはまらない.
ベータ二項分布BetaBinomialDistribution[α,β,n]は二項分布とベータ分布を組み合せたものである.BetaBinomialDistribution[α,β,n]の確率変数は,成功確率 p 自身がベータ分布BetaDistribution[α,β]に従う確率変数となっているBinomialDistribution[n,p]に従う.ベータ負の二項分布BetaNegativeBinomialDistribution[α,β,n]はベータ分布と負の二項分布を組み合せたものである.
幾何分布GeometricDistribution[p]とは,各試行の成功率を p としたときに,最初に成功が起るまでの試行数の合計の分布のことである.
超幾何分布HypergeometricDistribution[n,nsucc,ntot]n 回の試行が,成功可能回数 nsucc 回でサイズ ntot の母集団から置換なしでサンプリングすることに相当する実験で,二項分布に代り使用されるものである.
離散一様分布DiscreteUniformDistribution[{imin,imax}]とは,等しい確率で起る複数の結果を imin から imax までの整数で表した試行を表すものである.
ポアソン分布PoissonDistribution[μ]とは,指定された時間内に起る事象数を記述する.ここで μ は一定時間に対する事象の平均回数である.
付近のの級数展開における項は,対数分布LogSeriesDistribution[θ]に従った離散確率変数の確率に比例する.指定された期間内に購入される製品数の分布が,この分布によってモデル化されることがある.
ジップ(Zipf)分布ZipfDistribution[ρ]はゼータ分布と言われることがある.これは最初言語学で使われ,珍しい事象のモデル化にまで拡張された.
PDF[dist,x]
x における確率密度関数
CDF[dist,x]
x における累積分布関数
InverseCDF[dist,q]
CDF[dist,x]が最大で q となるような最大整数 x
Quantile[dist,q]
q 分位数
Mean[dist]
平均
Variance[dist]
分散
StandardDeviation[dist]
標準偏差
Skewness[dist]
歪度係数
Kurtosis[dist]
尖度係数
CharacteristicFunction[dist,t]
特性関数
Expectation[f[x],xdist]
dist に従って分布する x に対する f[x] の期待値
Median[dist]
中央値
Quartiles[dist]
dist に対する番目の四分位数
InterquartileRange[dist]
第1四分位数と第3四分位数との差分
QuartileDeviation[dist]
四分位範囲の半分
QuartileSkewness[dist]
四分位数ベースの歪度
RandomVariate[dist]
指定された分布の擬似乱数
RandomVariate[dist,dims]
次元が dims で,指定された分布の要素を持つ擬似乱数配列
統計分布の関数の例
分布は記号形式で表現される.PDF[dist,x]x が数値の場合は,x における密度関数を評価する.それ以外の場合は,可能な限り関数を記号形式のままにしておく.これと同様に,CDF[dist,x]は累積分布を与え,Mean[dist]は指定された分布の平均を与える.上の表は,分布で利用できる一般的な関数の例である.統計分布のさまざまな関数の詳説は,「連続分布」では,連続分布で対応するものを説明している.
以下は,各試行における成功率が0.3である場合の34回の試行の二項分布の記号表現である:
分布の平均である:
引数として記号変数を使うことによって平均を求める方程式を得ることができる:
以下は50%の分位数であり,これは中央値に等しい:
二項分布についての の期待値を求める:
以下の行列の要素は二項分布の擬似乱数である:
連続分布
ここに記載されている関数は,一変量の連続分布で最も一般的に使用されるものであり,連続分布の密度,平均,分散,その他の関連特性を計算することができる.分布は name[param1,param2,]という記号形式で表現される.統計分布の特性を与えるMeanのような関数は,引数として分布の記号表現を取る.「離散分布」は多数の一般的な離散分布について記述する.
NormalDistribution[μ,σ]
平均 μ,標準偏差 σ の正規(ガウス)分布
HalfNormalDistribution[θ]
尺度がパラメータ θ に反比例する半正規分布
LogNormalDistribution[μ,σ]
平均 μ,標準偏差 σ の正規分布に基づいた対数正規分布
InverseGaussianDistribution[μ,λ]
平均 μ,尺度 λ の逆ガウス分布
正規分布に関連した分布
対数正規分布LogNormalDistribution[μ,σ]は正規分布に基づく確率変数の指数関数が従う分布である.この分布は多数の独立確率変数が乗法的に統合された場合に起る.半正規分布HalfNormalDistribution[θ]は領域に限られた分布NormalDistribution[0,1/(θ Sqrt[2/π])]に比例する
逆ガウス分布InverseGaussianDistribution[μ,λ]はワルド(Wald)分布とも呼ばれ,正のドリフト付きブラウン運動の初期通過時間の分布である.
ChiSquareDistribution[ν]
自由度 ν分布
InverseChiSquareDistribution[ν]
自由度 ν の逆 分布
FRatioDistribution[n,m]
分子の自由度が n,分母の自由度が m である 分布
StudentTDistribution[ν]
自由度が ν のスチューデントの t 分布
NoncentralChiSquareDistribution[ν,λ]
自由度が ν,非心パラメータが λ の非心 分布
NoncentralStudentTDistribution[ν,δ]
自由度が ν,非心パラメータが δ の非心スチューデントの t 分布
NoncentralFRatioDistribution[n,m,λ]
分子の自由度が n,分母の自由度が m,非心パラメータが λ である非心 分布
正規分布に従う標本に関連する分布
,, が単位分散と零平均を持つ独立した正規確率変数ならば,は自由度 分布を持つという.正規変数からその平均を引き標準偏差で割ることにより標準化されると,その数量の平方和はこの分布に従う.分布は正規分布する標本の分散を記述する場合に最もよく用いられる.
もし が自由度 分布に従うならば, は逆 分布InverseChiSquareDistribution[ν]に従う.自由度が でスケールが のスケールされた逆 分布はInverseChiSquareDistribution[ν,ξ]として与えることができる.逆 分布は,正規分布に従う標本のベイズ分析における分散の事前分布として広く使われている.
スチューデントの 分布に従う変数は,正規確率変数の関数として書くこともできる. を独立した確率変数とする.ここで は標準的な正規分布, は自由度が 変数である.この場合, は自由度 分布となる.スチューデントの 分布は縦軸について対称であり,標準偏差に対する正規変数の割合が特徴となっている.位置およびスケールのパラメータはStudentTDistribution[μ,σ,ν]μσ として含めることができる.のとき, 分布はコーシー分布と同じである.
分布は2つの独立した 変数をそれぞれの自由度で割ったときの比の分布である.これは仮定検定で2つの母集団の分散を比較するときに広く使われる.
平均が非零の正規分布から派出する分布は非心分布と呼ばれる.
分散が で平均が非零である正規分布に従う 個の確率変数の平方和は,非心 分布NoncentralChiSquareDistribution[ν,λ]に従う.非心パラメータ は総和における確率変数の平均の2乗和である.文献によっては,非心パラメータとして が使われることがある.
非心スチューデントの 分布NoncentralStudentTDistribution[ν,δ]は,比 を記述する.ここで は自由度 確率変数, は分散 ,平均 の正規分布の独立した確率変数である.
非心 分布NoncentralFRatioDistribution[n,m,λ] に対する の比の分布である.ここで は非心パラメータ ,自由度 の非心 確率変数であり, は自由度 確率変数である.
TriangularDistribution[{a,b}]
区間{a,b}での対称三角分布
TriangularDistribution[{a,b},c]
c で最大となる区間{a,b}での三角分布
UniformDistribution[{min,max}]
区間{min,max}における一様分布
区分線形関数
三角分布TriangularDistribution[{a,b},c] および における最大確率内の に対する三角分布である.ならばTriangularDistribution[{a,b},c]は対称三角分布TriangularDistribution[{a,b}]である.
一様分布UniformDistribution[{min,max}]は, 矩形分布と呼ばれることもあり,値がどこにでも等しくあるような確率変数を特徴付ける.一様分布の確率変数の例には,min から max までの直線上でランダムに選んだ点の場所がある.
BetaDistribution[α,β]
形状パラメータが αβ の連続ベータ分布
CauchyDistribution[a,b]
位置パラメータが a,尺度パラメータが b のコーシー分布
ChiDistribution[ν]
自由度 ν 分布
ExponentialDistribution[λ]
尺度がパラメータ λ に反比例する指数分布
ExtremeValueDistribution[α,β]
位置パラメータ α ,尺度パラメータ β の極値(Fisher-Tippett)分布
GammaDistribution[α,β]
形状パラメータ α,尺度パラメータ λ のガンマ分布
GumbelDistribution[α,β]
位置パラメータ α,尺度パラメータ β のガンベルの最小極値分布
InverseGammaDistribution[α,β]
形状パラメータ α,尺度パラメータ λ の逆ガンマ分布
LaplaceDistribution[μ,β]
平均 μ ,尺度パラメータ β のラプラス(二重指数)分布
LevyDistribution[μ,σ]
位置パラメータ μ,拡散パラメータ σ のレヴィ分布
LogisticDistribution[μ,β]
平均 μ,尺度パラメータ β のロジスティック分布
MaxwellDistribution[σ]
尺度パラメータ σ のマックスウェル(マックスウェル・ボルツマン)分布
ParetoDistribution[k,α]
最小値パラメータ k ,形状パラメータ α のパレート分布
RayleighDistribution[σ]
尺度パラメータ σ のレイリー(Rayleigh)分布
WeibullDistribution[α,β]
形状パラメータ α ,尺度パラメータ β のワイブル(Weibull)分布
その他の連続分布
[-π,π]上で一様に分布しているなら,確率変数のコーシー (Cauchy) 分布CauchyDistribution[a,b]に従う.
のとき,ガンマ分布GammaDistribution[α,λ] ユニットの正規確率変数の平方和に分布を記述する.この形式のガンマ分布は自由度 分布と呼ばれる.のとき,ガンマ分布は,イベント間の待ち時間を記述するのによく使われる指数分布ExponentialDistribution[λ]の形を取る.
もし確率変数 がガンマ分布GammaDistribution[α,β]に従うならば, は逆ガンマ分布InverseGammaDistribution[α,1/β]に従う.確率変数 InverseGammaDistribution[1/2,σ/2]に従うならば, はラヴィ分布LevyDistribution[μ,σ]に従う.
が,尺度パラメータが等しい別々のガンマ分布であるとき,確率変数はベータ分布BetaDistribution[α,β]に従う.ここで はガンマ変数の形状パラメータである.
分布ChiDistribution[ν]は, 確率変数の平方根が従う分布である.のときは, 分布はHalfNormalDistribution[θ]に等しい.のときは, 分布は のレイリー (Rayleigh) 分布RayleighDistribution[σ]に等しい.のときは 分布は のマックスウェル・ボルツマン(MaxwellBoltzmann)分布MaxwellDistribution[σ]に等しい.
ラプラス (Laplace) 分布LaplaceDistribution[μ,β]は,同一の指数分布を持つ2つの独立した確率変数の差の分布である.ロジスティック分布LogisticDistribution[μ,β]は裾の長い分布を望む場合に,正規分布の代りに頻繁に使われる.
パレート分布 (Pareto) 分布ParetoDistribution[k,α]は収入を表すために使われる. は最小の収入を示す.
ワイブル (Weibull) 分布WeibullDistribution[α,β]は,物体の寿命を記述するために工学で広く使われている.極値分布ExtremeValueDistribution[α,β]は,正規分布を含む多様な分布から抽出された大きい標本における最大値に対する極限分布である.このような標本の最小値に対する極限分布は,ガンベル(Gumbel)分布GumbelDistribution[α,β]である.最大極値と最小極値は,変数の線形変化により関連しているので,極値分布とガンベル分布は同じ意味で使われることがある.また極値分布した確率変数と,適切にシフト・スケールされたワイブル分布した確率変数との間には対数関係があるので,極値分布は対数ワイブル分布と呼ばれることもある.
PDF[dist,x]
x における確率密度関数
CDF[dist,x]
x における累積分布関数
InverseCDF[dist,q]
CDF[dist,x]q に等しくなるような x の値
Quantile[dist,q]
q 分位数
Mean[dist]
平均
Variance[dist]
分散
StandardDeviation[dist]
標準偏差
Skewness[dist]
歪度係数
Kurtosis[dist]
尖度係数
CharacteristicFunction[dist,t]
特性関数
Expectation[f[x],xdist]
dist に従って分布する x に対する f[x]の期待値
Median[dist]
中央値
Quartiles[dist]
dist に対する 番目の四分位数のリスト
InterquartileRange[dist]
第1四分位数と第3四分位数の差分
QuartileDeviation[dist]
四分位範囲の半分
QuartileSkewness[dist]
四分位数ベースの歪度
RandomVariate[dist]
指定された分布を持つ擬似乱数
RandomVariate[dist,dims]
次元 dims で,指定された分布からの要素を持つ擬似乱数配列
分布の関数の例
上の表はWolfram言語における分布で利用できる一般的な関数をいくつか挙げたリストである.
における累積分布関数(CDF)は までの確率密度関数(PDF)の積分によって与えられる.従って確率密度関数は一般的な意味で累積分布関数を微分することによって得られる.このパッケージでは,分布は記号形式で与えられる.PDF[dist,x] が数値であれば における密度を評価し,数値でなければ関数を記号形式のままにしておく.同様にCDF[dist,x]は累積密度を与える.
逆累積分布関数InverseCDF[dist,q]CDF[dist,x] に達するときの の値を返す.中央値はInverseCDF[dist,1/2]により与えられる.四分位数,十分位数,百分位数は,逆累積分布関数の特定の値である.四分位数の歪度はと等価であり,ここで はそれぞれ第1,第2,第3の四分位数のことである.逆累積分布関数は統計パラメータの信頼区間を構築するときに使われる.InverseCDF[dist,q]Quantile[dist,q]は連続分布については等価である.
平均Mean[dist]dist に従って分布した確率変数の期待値であり,通常 と表記される.平均は によって与えられる.ここで とは分布の確率密度関数である.分散Variance[dist] によって与えられる.分散の平方根は標準偏差と呼ばれ,通常 で表記される.
Skewness[dist]Kurtosis[dist] の両関数は,それぞれ分布の非対称度と尖鋭を要約する形状の統計を与える.歪度は によって,尖度は によって与えられる.
特性関数CharacteristicFunction[dist,t] によって与えられる.離散の場合は,となる.各分布にはそれぞれ固有の特性関数があり,分布を定義するために確率密度関数の代りに使用されることもある.
関数 g の期待値Expectation[g[x],xdist]は, で与えられる.離散分布の場合,g の期待値は となる.
RandomVariate[dist]は指定された分布から擬似乱数を与える.
のガンマ分布の記号表現である:
10で評価された累積分布関数である:
これがその累積分布関数である.組込み関数のGammaRegularizedによって与えられる:
累積分布関数のプロットである:
ガンマ分布に従って分布した要素を持つ擬似配列である:
データのクラスタ分割
クラスタ分析とは,データの分類に使われる教師なし学習法である.データ要素は,距離(非類似度)関数に基づいたデータ要素の近似集団を表すクラスタと呼ばれるグループに分類される.ペアの要素が同一である場合は距離(非類似度)はゼロであり,それ以外のペアでは正となる.
FindClusters[data]
data を類似要素のリストに分類する
FindClusters[data,n]
data を類似要素の最大 n 個のリストに分類する
一般的なクラスタ関数
FindClustersのデータ引数はデータ要素のリスト,連想,要素とラベルにインデックスを付ける規則のいずれでもよい.
{e1,e2,}
データ要素 ei のリストとして指定されるデータ
{e1v1,e2v2,}
データ要素 ei およびラベル vi の間の規則のリストとして指定されるデータ
{e1,e2,}{v1,v2,}
データ要素 ei およびラベル vi の間の規則のリストとして指定されるデータ
key1e1,key2e2|>
要素 ei をラベル keyi にマップする連想として指定されるデータ
FindClustersでデータを指定する方法
FindClustersは数値データ,テキストデータ,画像データの他,ブールベクトル,日付,時間を含むさまざまなタイプのデータに使うことができる.すべてのデータ要素 ei は同じ次元でなければならない.
以下は数のリストである:
FindClustersは,数の近似に基づいてそれをクラスタ化する:
規則型のデータシンタックスでは,データ要素をクラスタ化して,その要素のラベルを返すことができる.
ここでは2Dの点がクラスタ化され,データリストにおけるその位置でラベル付けされている:
規則型のデータシンタックスは,各データ入力の部分に基づいたデータをクラスタ化するために使うこともできる.例えば,データを表形式にクラスタ化し,表の特定の列を無視することができる.
データ入力のリストである:
各データ入力の最初の2要素を無視して,データをクラスタ化する:
原則としては,任意次元で与えられた点をクラスタ化することは可能である.しかし,二次元,または三次元より大きい次元のクラスタを視覚化することは,できたとしても難しい.このドキュメントでは,選択可能なメソッドを比較するために,簡単に視覚化できる二次元データを使う.
以下のコマンドは,4つの星雲のようなクラスタにグループ化するために選ばれた,300個の二次元データ点集合を定義する:
点の近接に基づいてデータをクラスタ化する:
クラスタのプロットである:
FindClustersはデフォルト設定では点を4つのクラスタにした.
FindClustersの設定を変更して,クラスタの数を指定することもできる.
3つのクラスタを指定した場合は,以下のようになる:
これは,5つのクラスタにした場合である:
オプション名
デフォルト値
CriterionFunctionAutomatic
方法を選択する基準
DistanceFunctionAutomatic
使用する距離(非類似度)尺度
MethodAutomatic
使用するクラスタリング法
PerformanceGoalAutomatic
最適化する性能
WeightsAutomatic
各例に与える重み
FindClustersのオプション
原則では,クラスタリング法はどのようなデータにも適用できる.必要なことは,集合内の各要素が他の要素とどのくらい離れているかを測る尺度,つまり,要素間の距離を与える関数である.
FindClusters[{e1,e2,},DistanceFunction->f]は,要素のペアの距離 f[ei,ej]が大きくなるにつれて,その類似度が減少するものとする.関数 f は,適切な距離(非類似度)関数であればどのようなものでもよい.距離関数 f は以下を満足する.
ei が数のベクトルであるなら,FindClustersではデフォルトでユークリッド平方距離が使われる.ei がブールのTrueFalse(あるいは0,1)要素のリストならば,FindClustersでは一致しない要素の正規化分数に基づく非類似度がデフォルトで使われる.ei が文字列の場合は,FindClustersでは1つの文字列から次を得るのに必要な点の変化の数に基づく距離関数がデフォルトで使われる.
EuclideanDistance[u,v]
ユークリッド距離
SquaredEuclideanDistance[u,v]
平方ユークリッド距離
ManhattanDistance[u,v]
マンハッタン距離
ChessboardDistance[u,v]
チェス盤あるいはチェビシェフ距離
CanberraDistance[u,v]
キャンベラ距離
CosineDistance[u,v]
余弦距離
CorrelationDistance[u,v]
相関距離 1-(u-Mean[u]).(v-Mean[v])/(Abs[u-Mean[u]]Abs[v-Mean[v]])
BrayCurtisDistance[u,v]
ブレイ・カーティス距離
数値データの距離関数
マンハッタン距離を使って見付けた datapairs のクラスタである:
ブールベクトルの非類似度は,一般に2つのブールベクトル のペアの要素を比較することによって計算される.各非類似度関数は, を使って要約すると便利である.ここで は,それぞれ に等しい での対応する要素のペアの数である.数値 のペアを数え, は0か1のどちらかである.ブール値がTrueFalseの場合,Trueは1と,Falseは0と等価である.
MatchingDissimilarity[u,v]
単純なマッチ (n10+n01)/Length[u]
JaccardDissimilarity[u,v]
Jaccard係数
RussellRaoDissimilarity[u,v]
RussellRao係数 (n10+n01+n00)/Length[u]
SokalSneathDissimilarity[u,v]
SokalSneath係数
RogersTanimotoDissimilarity[u,v]
RogersTanimoto係数
DiceDissimilarity[u,v]
Dice係数
YuleDissimilarity[u,v]
Yule係数
ブールデータの非類似度関数
ブールデータである:
ブールデータのデフォルトの非類似度を使って見付けられたクラスタである:
EditDistance[u,v]
文字列 u を文字列 v に変換するための編集回数を計算する
DamerauLevenshteinDistance[u,v]
uv の間のDamerauLevenshtein距離
HammingDistance[u,v]
uv で値が一致しない要素の数
文字列データの非類似度関数
編集距離は,文字の順序を変えないで,1つの文字列を別の文字列に変換するのに必要な削除,挿入,代入の回数を数えることで決められる.これとは対照的に,DamerauLevenshtein距離は削除,挿入,代入,転置の数を,ハミング距離は代入の数だけを数える.
文字列データである:
編集距離を使って文字列データをクラスタ化する:
異なるクラスタ方法を指定するためには,Methodオプションを使う.
"Agglomerate"
階層的クラスタリングを見付ける
"DBSCAN"
ノイズのあるアプリケーションの密度に基づいた空間クラスタリング
"GaussianMixture"
変分ガウス混合アルゴリズム
"JarvisPatrick"
JarvisPatrickクラスタリングアルゴリズム
"KMeans"
k 平均クラスタリングアルゴリズム
"KMedoids"
メドイド分割
"MeanShift"
平均シフトクラスタリングアルゴリズム
"NeighborhoodContraction"
データ点を高密度の領域方向にシフトする
"SpanningTree"
最小全域木ベースのクラスタリングアルゴリズム
"Spectral"
スペクトラルクラスタリングのアルゴリズム
Methodオプションの明示的設定
デフォルトではFindClustersは異なるメソッドを試し,最もよいクラスタリングを選ぶ.
メソッド"KMeans"および"KMedoids"は,どのようにデータを指定のクラスタ数 k にクラスタ化するかを決定する.
メソッド"DBSCAN""JarvisPatrick""MeanShift""SpanningTree""NeighborhoodContraction""GaussianMixture"は,特定のクラスタ数を想定しないで,どのようにデータをクラスタ化するかを決定する.
メソッド"Agglomerate""Spectral""SpanningTree"はどちらの場合でも使うことができる.
次は"KMeans"メソッドを使って見付けた datapairs のクラスタを示している:
次は"GaussianMixture"メソッドを使って見付けた datapairs のクラスタを示している:
クラスタ化をさらに制御できるように,追加のMethodサブオプションも使える.サブオプションは,選択されたMethodによって異なる.
"NeighborhoodRadius"
点の近傍の平均半径を指定する
"NeighborsNumber"
近傍における点の平均個数を指定する
"InitialCentroids"
最初の重心,medoidを指定する
"SharedNeighborsNumber"
共有される近傍の最低数を指定する
"MaxEdgeLength"
長さをせん定する閾値を指定する
ClusterDissimilarityFunction
クラスタ間非類似度を指定する
すべてのメソッドのサブオプション
サブオプション"NeighborhoodRadius"は,メソッド"DBSCAN""MeanShift""JarvisPatrick""NeighborhoodContraction""Spectral"で使うことができる.
サブオプション"NeighborsNumber""SharedNeighborsNumber"は,それぞれメソッド"DBSCAN"および"JarvisPatrick"で使うことができる.
サブオプション"MaxEdgeLength"はメソッド"SpanningTree"で使うことができる.
サブオプション"InitialCentroids"はメソッド"KMeans"および"KMedoids"で使うことができる.
サブオプションClusterDissimilarityFunctionはメソッド"Agglomerate"で使うことができる.
サブオプション"NeighborhoodRadius"は一般点の近隣の平均半径を制御するために使うことができる.
以下は"NeighborhoodContraction"メソッドで"NeighborhoodRadius"を変化させることによって見付かった datapairs の異なるクラスタリングを示す:
サブオプション"NeighborsNumber"は一般点の近隣の隣接点の数を制御するために使うことができる.
以下は"DBSCAN"メソッドの"NeighborsNumber"を変化させることによって見付けた datapairs の異なるクラスタリングを示す:
"InitialCentroids"サブオプションは"KMeans"メソッドおよび"KMedoids"メソッドの最初の設定を変更するために使うことができる.初期設定が適切でないと,クラスタリングの結果もよくならない.
次は"KMeans"メソッドで"InitialCentroids"を変化させることによって見付かった datapairs の異なるクラスタリングを示す:
Method->{"Agglomerate",ClusterDissimilarityFunction->f}と設定すると,指定された連結関数 f が凝集的なクラスタ化に使われる.
"Single"
最短距離法
"Average"
群平均法
"Complete"
最長距離法
"WeightedAverage"
重み付き群平均法
"Centroid"
クラスタの重心からの距離
"Median"
クラスタのメジアンからの距離
"Ward"
ウォード(Ward)の最小分散法
f
純関数
ClusterDissimilarityFunction サブオプションで取れる値
メンバ要素の非類似度が与えられると,連結法によりこのクラスタ間非類似度,あるいは融合レベルが決められる.
ClusterDissimilarityFunction->f では,f は連結法を定義する純関数である.クラスタ間の距離(非類似度)は,新しく融合するクラスタの距離(非類似度)を決定するために,融合していないクラスタ間の距離(非類似度)についての情報を使い,ことにより,再帰的に決められる.関数 f はクラスタ k からクラスタ ij を融合して形成された新しいクラスタまでの距離を定義する.f に与えられる引数は dikdjkdijninjnk であり,d はクラスタ間の距離,n はクラスタ内の要素数である.
以下は"Agglomerate"メソッドでClusterDissimilarityFunctionを変化させることによって見付かった datapairs の異なるクラスタリングを示す:
CriterionFunctionオプションは使用するメソッドとクラスタの最適数の両方を選ぶために使うことができる.
"StandardDeviation"
二乗平均平方根の標準偏差
"RSquared"
R二乗
"Dunn"
Dunn指標
"CalinskiHarabasz"
CalinskiHarabasz指標
"DaviesBouldin"
DaviesBouldin指標
Automatic
内部指標
次はCriterionFunctionに異なる設定を使った,クラスタリングの結果を示す:
以下は,デフォルトのCriterionFunctionと,自動的に選ばれたクラスタ数を使って見付かったクラスタである:
次は"CalinskiHarabasz"指標を使って見付かったクラスタである:
Nearestを使う
Nearestは,指定されたデータ点に最も近いリスト中の要素を見付けるために使う.
Nearest[{elem1,elem2,},x]
x が最も近い elemi のリストを与える
Nearest[{elem1->v1,elem2->v2,},x]
x が最も近い elemi に対応する vi を与える
Nearest[{elem1,elem2,}->{v1,v2,},x]
同じ結果を与える
Nearest[{elem1,elem2,}->Automatic,x]
vi を整数1, 2, 3, として取る
Nearest[data,x,n]
x に近い n 個の要素を与える
Nearest[data,x,{n,r}]
半径 r 内で x に最も近い要素を最大 n 個与える
Nearest[data]
異なる x に繰り返し適用できるNearestFunction[]を生成する
Nearest関数
Nearestは数値のリスト,テンソル,文字列のリストに使える.
4.5に最も近い要素を与える:
4.5に最も近い3つの要素を見付ける:
半径2以内で4.5に最も近い要素をすべて見付ける:
{1,2}に一番近い点を2Dで見付ける:
"cat"に一番近い文字列を見付ける:
規則ベースのデータシンタックスにより,一番近い要素を使い,そのラベルを返すことができる.
2Dの点にラベルが付けられる:
連続した整数を使って要素にラベルを付ける:
Nearestを同じ数値データに繰り返し適用する場合,最初にNearestFunctionを生成するとパフォーマンスに格段の差が出る.
次で2Dにおける10,000個の点の集合とNearestFunctionを生成する:
10の目標点に一番近い点を集合の中から見付ける:
NearestFunctionを使わなかったら,もっと時間がかかる:
オプション名
デフォルト値
DistanceFunctionAutomatic
使用する距離測定法
Nearestのオプション
Nearestは数値データに対してはデフォルトでEuclideanDistanceを使う.文字列の場合はEditDistanceを使う.
数値データの分析
数値データがあるとき,そのデータを近似した簡単な式を見付けられると多くの場合,好都合である.例えば,データ点に直線や曲線を適合させる(フィットさせる)ことでそのような式を得ることができる.
Fit[{y1,y2,},{f1
,
f2,},x]
yn を関数 fi の線形結合にフィットする
Fit[{{x1,y1},{x2,y2},},{f1
,
f2,},x]
(xn,yn)fi の線形結合にフィットする
曲線の関数の線形結合へのフィット
指数関数で数値データを作っておく.Tableの使い方は「数値の表を作る」を参照:
以下は,最小二乗法で式 dataにフィットさせる.dataの成分は, の値, , に対応している:
の形のフィットを探す:
これは, の対からなる数値テーブルを作成する:
データに対する の形のフィットを探す:
FindFit[data,form,{p1,p2,},x]
パラメータ pi を含む form に対するフィットを求める
一般的な形にデータをフィットする
これは線形フィットの最適なパラメータを求める:
これは非線形フィットを行う:
数値データから「信号成分」を取り出すのによく使われるのは,データをフーリエ変換する,つまり周波数スペクトルを求める方法である.
Fourier[data]
数値フーリエ変換
InverseFourier[data]
逆フーリエ変換
フーリエ変換
簡単な方形パルスを入力する:
パルスのフーリエ変換を求める:
Wolfram言語のフーリエ変換関数Fourierは,理学でよく使われる符号表記に従った形で定義されている.電気工学でよく使われる表記とは逆であることに注意されたい.詳しい説明は「離散フーリエ変換」を参照のこと.
曲線のフィット
与えられたデータセットに最も適した式を求めたいことがある.Wolfram言語でこれを行う方法のひとつはFitを使うことである.
Fit[{f1,f2,},{fun1,fun2,},x]
fi に最もフィットするの線形結合 funi を求める
基礎的な線形フィット
素数の最初の20個の表である:
データをプロットする:
素数データを一次曲線でフィットさせる.最適なフィットは関数1xの線形結合で得られる:
フィットをプロットする:
もとのデータのグラフに重ね描きする:
次に二次曲線でフィットさせる:
求まった二次曲線をプロットする:
もとのデータに重ね合せると,二次曲線の方が一次曲線よりよくフィットしていることが分かる:
{f1,f2,}
と変化する座標の値に対応したデータ点のリスト
{{x1,f1},{x2,f2},}
と変化する座標の値に対応したデータ点のリスト
{{x1,y1,,f1},{x2,y2,,f2},}
座標の列 の値で得られたデータ点のリスト
データ指定法
Fit形式のデータが与えられると連続する が連続する整数点における関数の値に当たると仮定する.Fitには関数の任意の点における値に相当するデータを与えることもできる.次元は一次元でも多次元でもよい.
Fit[data,{fun1,fun2,},{x,y,}]
複数の変数を持つ関数にフィットする
多変量フィット
の値の表を作成する.Fitで取り込めるようにFlattenをデータに作用させ,平坦化しておく:
2変数の関数のフィットである:
Fitは関数のリストを取り,明確で効果的な手順でこれらの関数のどのような線形結合がデータの最高の最小2乗フィットを与えるかを求める.しかし,指定の関数の線形結合だけからなるのではない「非線形フィット」を求めたいこともあるだろう.その場合はFindFitを使うとよい.この関数はいかなる形の関数でも取り,データに最適のフィットを与えるパラメータの値を求める.
FindFit[data,form,{par1,par2,},x]
formdata に最もフィットする pari の値を求める
FindFit[data,form,pars,{x,y,}]
多変量データのフィット
データの一般的なフィットを求める
これは素数のリストを項の単純な線形結合にフィットする:
結果はFitによるものと同じである:
これはFitでは扱えない非線形形式をフィットする:
デフォルトにより,FitFindFitは両方とも「最小二乗」フィットを生み出す.これは を最小化すると定義することができる.ここで はオリジナルの各データ点とフィットした値の差分を与える残差である.これとは別のノルムに基づいたフィットを考えることもできる.オプションNormFunction->u を設定するとFindFitu[r]を最小にするフィットを求めようとする.ここで r は残差のリストである.デフォルトはNormFunction->Normで最小二乗フィットに対応している.
ここではというノルムを使っている.これはフィットとデータ間の最大距離を最小にする.結果は最小二乗とは多少異なる:
FindFitは最適なフィットを与えるパラメータの値を求めるという形を取る.検索を始める点を指定しなければならないこともある.この指定はの形式でパラメータを与えることで行う.FindFitには検索方法をコントロールするためのたくさんのオプションがある.
FindFit[data,{form,cons},pars,vars]
パラメータ制約条件 cons の下での最適フィットを探す
データへの一般フィットの検索
以下はパラメータの制約条件の下での最適フィットを探す:
オプション名
デフォルト値
NormFunctionNorm
使用するノルム
AccuracyGoalAutomatic
確度の目標桁数
PrecisionGoalAutomatic
精度の目標桁数
WorkingPrecisionAutomatic
内部計算精度
MaxIterationsAutomatic
最大反復回数
StepMonitorNone
段階を踏むたびに常に評価される式
EvaluationMonitorNone
form が評価されたときに常に評価される式
MethodAutomatic
使用するアルゴリズム
FindFitのオプション
統計モデル解析
モデルをデータにフィットさせるとき,そのモデルがいかによくデータにフィットしているか,またそのフィットがモデルの仮定にどの程度一致しているかを解析すると便利なことがよくある.Wolframシステムでは,一般の統計モデルの多くでFittedModelオブジェクトを構築するフィット関数によりこれが実現できる.
FittedModel
記号的にフィットされたモデルを表す
フィットされたモデル情報のためのオブジェクト
FittedModelオブジェクトはある時点で評価することも,結果や診断情報を問い合わせることもできる.診断はモデルの型により多少異なる.利用できるモデルフィット関数は,線形,一般化された線形,非線形の各モデルにフィットする.
LinearModelFit
線形モデルを構築する
GeneralizedLinearModelFit
一般化された線形モデルを構築する
LogitModelFit
二項ロジスティック回帰モデルを構築する
ProbitModelFit
二項プロビット回帰モデルを構築する
NonlinearModelFit
非線形最小二乗モデルを構築する
FittedModelオブジェクトを生成する関数
これは の値が1, 2, であると仮定して線形モデルにフィットさせる:
次はフィットされたモデルの関数形式である:
のときのモデルを評価する:
線形フィットされたモデルについて利用できる結果の短縮されたリストである:
LinearModelFit等のモデルフィット関数とFitFindFit等の関数との大きな違いは,診断情報をFittedModelオブジェクトからいかに簡単に取得できるかという点にある.この結果はモデルを再フィットしなくてもアクセスできる.
次はフィットの残差を与える:
一度に複数の結果がリストで取得される:
プロパティの計算に関係するフィットのオプションは,FittedModelオブジェクトに渡され,デフォルトがオーバーライドされる.
次はデフォルトの95%の信頼区間を与える:
ここでは90%の区間が得られる:
これらのモデルフィット関数の一般的なデータは,FitFindFitなどの他のフィット関数のデータと同じ形式を取る.
{y1,y2,}
1, 2, を取る単独の予測変数を持つ点
{{x11,x12,,y1},{x21,x22,,y2},}
明示的な座標を持つデータ点
データの指定

線形モデル

独立正規分布に従う誤差を仮定した線形モデルは,データのモデルで最も一般的なもののひとつである.このタイプのモデルはLinearModelFit関数を用いてフィットすることができる.
LinearModelFit[{y1,y2,},{f1,f2,},x]
基底関数が fi,単独の予測変数が x である線形モデルを得る
LinearModelFit[{{x11,x12,,y1},{x21,x22,,y2}},{f1,f2,},{x1,x2,}]
複数の予測変数が xi である線形モデルを得る
LinearModelFit[{m,v}]
計画行列 m と応答ベクトル v に基づく線形モデルを得る
線形モデルのフィット
線形モデルの形式は であり, はフィットあるいは予測された値, はフィットされるためのパラメータ, は予測変数 の関数を表す.モデルはパラメータ において線形である. は予測変数のいかなる関数でもよい. は単に予測変数 となることが多い.
以下は線形モデルを最初の20個の素数にフィットする:
モデル指定およびモデル解析のためのオプションが利用できる.
オプション名
デフォルト値
ConfidenceLevel95/100
パラメータおよび予測に使う信頼水準
IncludeConstantBasisTrue
一定の基底関数を含むかどうか
LinearOffsetFunctionNone
線形予測子における既知のオフセット
NominalVariablesNone
名義あるいはカテゴリと考えられる変数
VarianceEstimatorFunctionAutomatic
誤差分散を推定するための関数
WeightsAutomatic
データ要素の重み
WorkingPrecisionAutomatic
内部計算で使用する精度
LinearModelFitのオプション
Weightsオプションは重み付きの線形回帰に対する重みの値を指定する.NominalVariablesオプションはどの予測変数を名義あるいはカテゴリ変数として扱うかを指定する.NominalVariables->Allの設定では,モデルは分散分析(ANOVA)モデルである.NominalVariables->{x1,,xi-1,xi+1,,xn}では,モデルは共分散分析(ANCOVA)モデルで 番目の予測子以外はすべて名義変数として扱われる.名義変数は二値変数の集まりで表され,その変数の観察された名義カテゴリ変数の等式および不等式を示す.
ConfidenceLevelVarianceEstimatorFunctionWorkingPrecisionは最初のフィットの後の結果の計算に関係している.これらのオプションはLinearModelFit内部で設定することができ,FittedModelオブジェクトから得られた結果のデフォルト設定を指定する.また,すでに構築されたFittedModelオブジェクトの内部で設定し,最初にLinearModelFitに与えられたオプション値をオーバーライドすることもできる.
以下はデフォルトで平均の平方誤差分散推定である:
IncludeConstantBasisLinearOffsetFunctionNominalVariablesWeightsはフィットにだけ関係する.すでに構築されているFittedModelオブジェクト内でこれらのオプションを設定しても結果には何の影響もない.
モデルフィットフレームワークの大きな特徴は,フィットの後の結果を得ることができるということである.利用できる結果の一覧は"Properties"を使って得ることができる.
以下は線形モデルで利用できるプロパティの数である:
プロパティにはデータに関する基本的な情報,フィットされたモデル,多数の結果,診断が含まれている.
"BasisFunctions"
基底関数のリスト
"BestFit"
フィットされた関数
"BestFitParameters"
パラメータ推定
"Data"
入力データあるいは計画行列と応答ベクトル
"DesignMatrix"
モデルに対する計画行列
"Function"
一番よいフィットの純関数
"Response"
入力データの応答値
データとフィットされた関数に関連するプロパティ
"BestFitParameters"プロパティはフィットされたパラメータ値{β0,β1,}を与える."BestFit"はフィットされた関数 であり,"Function"はフィットされた関数を純関数として与える."BasisFunctions"は,定数項がモデルに存在する場合に を定数1とした関数 のリストを与える."DesignMatrix"はデータの計画行列またはモデル行列である."Response"は応答のリスト,あるいはもとのデータからの 値を与える.
"FitResiduals"
実際応答と予測応答の差
"StandardizedResiduals"
各残差について標準誤差で割られた残差
"StudentizedResiduals"
単一の削除誤差推定で割られた残差
残差のタイプ
残差はフィットされた値ともとの応答との点による差分を測定する."FitResiduals"は観察された値とフィットされた値の差分{y1-,y2-,}を与える."StandardizedResiduals"および"StudentizedResiduals"は残差のスケールされた形式である. 番目の標準化された残差は である.ここで は推定誤差分散, はハット行列の 番目の対角要素, 番目のデータ点の重みである. 番目のスチューデント化された残差も同じ式で, 番目のデータ点を省略した分散推定)で置き換えたものである.
"ANOVATable"
分散分析表
"ANOVATableDegreesOfFreedom"
ANOVA表からの自由度
"ANOVATableEntries"
表からのフォーマットされていない配列の値
"ANOVATableFStatistics"
表からのF統計量
"ANOVATableMeanSquares"
表からの平方平均誤差
"ANOVATablePValues"
表からの
"ANOVATableSumsOfSquares"
表からの平方和
"CoefficientOfVariation"
推定標準偏差で割られた応答平均
"EstimatedVariance"
誤差分散の推定
"PartialSumOfSquares"
非定数基底関数が除去されたときのモデル平方和の変化
"SequentialSumOfSquares"
要素ごとに区切られたモデル平方和
誤差平方和に関する特性
"ANOVATable"はモデルに対するフォーマットされた分散分析表を与える."ANOVATableEntries"は表の中の数値的項目を与える.その他のANOVATableプロパティは,表の中の個々の部分が今後の計算で簡単に使えるように表の列の要素を与える.
以下はフィットされたモデルに対するフォーマットされたANOVA表を与える:
表のMSの列の要素である:
"CorrelationMatrix"
パラメータ相関行列
"CovarianceMatrix"
パラメータ共分散行列
"EigenstructureTable"
パラメータ相関行列の固有構造
"EigenstructureTableEigenvalues"
表からの固有値
"EigenstructureTableEntries"
表からのフォーマットされていない値の配列
"EigenstructureTableIndexes"
表からの指標値
"EigenstructureTablePartitions"
表からの区分
"ParameterConfidenceIntervals"
パラメータ信頼区間
"ParameterConfidenceIntervalTable"
フィットされたパラメータの信頼区間情報の表
"ParameterConfidenceIntervalTableEntries"
表からのフォーマットされていない値の配列
"ParameterConfidenceRegion"
楕円体パラメータ信頼領域
"ParameterErrors"
パラメータ推定の標準誤差
"ParameterPValues"
パラメータの 統計に対する
"ParameterTable"
フィットされたパラメータ情報の表
"ParameterTableEntries"
表からのフォーマットされていない値の配列
"ParameterTStatistics"
パラメータ推定の 統計
"VarianceInflationFactors"
推定パラメータの拡大要因のリスト
パラメータ推定の特性と診断
"CovarianceMatrix"はフィットされたパラメータ間の共分散を与える.その行列は であり,ここで は分散推定, は計画行列, は重みの対角行列である."CorrelationMatrix"はパラメータ推定に対して関連付けられた相関行列である."ParameterErrors"は共分散行列の対角要素の平方根に等しい.
"ParameterTable"および"ParameterConfidenceIntervalTable"には各パラメータ推定,パラメータ有意性の検定,信頼区間についての情報が含まれる.
データである:
両方の予測変数を使ってモデルをフィットする:
以下はパラメータおよびパラメータ信頼区間のフォーマットされた表である:
この表では99%の信頼区間が使われている:
上記の表のEstimateの列は"BestFitParameters"に等しい.t 統計は推定を標準誤差で割ったものである.それぞれの p 値は,t 統計に対しては両側 p 値であり,パラメータ推定が統計的に0と有意差があるかどうかを判定するために使われる.それぞれの信頼区間はConfidenceLevelオプションにより設定された水準で,パラメータ信頼区間の上限と下限を与える.表の列やフォーマットされていない値の配列を得るために,ParameterTableおよびParameterConfidenceIntervalTableのさまざまなプロパティが使える.
"VarianceInflationFactors"は基底関数間の多重共線性を測定するために使われる. 番目の拡大要因は に等しい.ここで 番目の基底関数を別の基底関数の線形関数にフィットすることからの変動係数である.IncludeConstantBasis->Trueの設定では,最初の拡大要因は定数項に対するものとなる.
"EigenstructureTable"は固有値,条件指標,非定数基底関数に対する分散分割を与える.Indexの列は最大固有値に対する固有値の比の平方根である.それぞれの基底関数の列は,関連付けられた固有ベクトルにより説明される基底関数における変動の割合である."EigenstructureTablePartitions"は表におけるすべての基底関数に対する変動分割の値を与える.
"BetaDifferences"
パラメータ値の影響のDFBETAS尺度
"CatcherMatrix"
キャッチャー行列
"CookDistances"
クック(Cook)の距離のリスト
"CovarianceRatios"
観察影響のCOVRATIO尺度
"DurbinWatsonD"
自己相関のダービン・ワトソン(DurbinWatson) 統計
"FitDifferences"
予測値に対する影響のDFFITS尺度
"FVarianceRatios"
観察影響のFVARATIO尺度
"HatDiagonal"
ハット行列の対角要素
"SingleDeletionVariances"
番目のデータ点を除いた変動推定のリスト
影響尺度関連特性
点の規模での影響の測定は,各データ点がフィットに大きい影響を与えるかどうかを評価するために使われることがよくある.ハット行列とキャッチャー行列はそのような診断で重要な役割を果たす.ハット行列は となるような行列 であり,ここで は観察された応答ベクトル, は予測された応答ベクトルである."HatDiagonal"はハット行列の対角要素を与える."CatcherMatrix"(ここで はフィットしたパラメータベクトル)となるような行列 である.
"FitDifferences"はそれぞれのデータ点がフィットされた値または予測された値に及ぼす値を測定するDFFITS値を与える. 番目のDFFITS値は で記述される.ここで 番目のハット対角要素であり, 番目のスチューデント化された残差である.
"BetaDifferences"はそれぞれのデータ点がモデルのパラメータに及ぼす影響を測定するDFBETAS値を与える. 個のパラメータを持つモデルの場合,"BetaDifferences" 番目の要素は長さ のリストであり, 番目の値がデータ点 がモデルの中の 番目のパラメータに及ぼす影響を測定する. 番目の"BetaDifferences"ベクトルは と書くことができ,ここで はキャッチャー行列の , 番目の要素を表す.
"CookDistances"は,与えられた影響力のクック距離を返す. 番目のクック距離は (ここで 番目の標準化された残差)で与えられる.
"CovarianceRatios" 番目の要素は で与えられ,"FVarianceRatios" 番目の値は に等しい(ここで 番目の単独の削除変動である).
ダービン・ワトソン 統計の"DurbinWatsonD"は一次の自己回帰過程を存在を検定するために使われる. 統計は(ここで 番目のの残差)に等しい.
以下で二変量モデルに対するクック距離をプロットする:
"MeanPredictionBands"
平均予測の信頼帯
"MeanPredictionConfidenceIntervals"
平均予測の信頼区間
"MeanPredictionConfidenceIntervalTable"
平均予測の信頼区間表
"MeanPredictionConfidenceIntervalTableEntries"
表からのフォーマットされていない値の配列
"MeanPredictionErrors"
平均予測の標準誤差
"PredictedResponse"
データのフィットされた値
"SinglePredictionBands"
1回の観察に基づいた信頼帯
"SinglePredictionConfidenceIntervals"
1回の観察の予想される応答の信頼区間
"SinglePredictionConfidenceIntervalTable"
1回の観察の予想される応答の信頼区間の表
"SinglePredictionConfidenceIntervalTableEntries"
表からのフォーマットされていない値の配列
"SinglePredictionErrors"
1回の観察の予測応答の標準誤差
予測値関連特性
信頼区間の表形式の結果は"MeanPredictionConfidenceIntervalTable"および"SinglePredictionConfidenceIntervalTable"で与えられる.これには観測された応答と予測された応答,標準誤差推定,各点に対する信頼区間が含まれる.平均の予測信頼区間は単に信頼区間と言われ,単独の予測信頼区間は予測区間と言われることが多い.
平均の予測区間は,予測子の固定値における応答 の平均の信頼区間を与えるものであり,により与えられる.ここで は,自由度 のスチューデントの 分布の 分位数, は固定された予測子で評価された基底関数のベクトル, はパラメータに対する推定分散行列である.単一の予測区間は,予測子の固定値において を予測するための信頼区間を与えるもので, で与えられる.ここで は推定誤差分散である.
"MeanPredictionBands""SinglePredictionBands"は,平均および単一の予測信頼区間の式を予測変数の関数として与える.
次は平均の予測表である:
以下は90%の予測区間である:
"AdjustedRSquared"
モデルパラメータの数に適応された
"AIC"
赤池情報量基準
"BIC"
ベイズ(Bayes)情報量基準
"RSquared"
決定係数
適合度の尺度特性
適合度はモデルがどの程度フィットしているかを評価するため,あるいはモデルを比較するために使用される.決定係数"RSquared"は,総平方和に対するモデルの平方和の比である."AdjustedRSquared"はモデルのパラメータの数に対して罰則付きで,により与えられる.
"AIC""BIC"は尤度に基づき適合度を測定する.これはどちらもモデルの対数尤度の倍に は予測される分散を含む,予測されるパラメータの数)を足したものに等しい."AIC" では のとき,"BIC"では である.

一般化された線形モデル

線形モデルはそれぞれの応答値 が平均値 の正規分布からの観察となっているモデルとみることができる.一般化された線形モデルは,形式 のモデルに拡張される.ここでそれぞれの は,平均が が指数型分布族のサポート上の可逆関数である,既知の指数型分布族からの観察であると想定される.この種類のモデルはGeneralizedLinearModelFitで得ることができる.
GeneralizedLinearModelFit[{y1,y2,},{f1,f2,},x]
基底関数 fi,単独の予測変数 x の一般化された線形モデルを得る
GeneralizedLinearModelFit[{{x11,x12,,y1},{x21,x22,,y2}},{f1,f2,},{x1,x2,}]
複数の予測変数 xi の一般化された線形モデルを得る
GeneralizedLinearModelFit[{m,v}]
計画行列 m と応答ベクトル v に基づく一般化された線形モデルを得る
一般化された線形モデルのフィット
可逆関数 は連結関数と呼ばれ,線形結合 は線形予測子と呼ばれる.一般的な特殊ケースとして,恒等リンク関数とガウスまたは正規の指数型分布族を持つ線形回帰モデル,確率に対するロジットおよびプロビットモデル,カウントデータに対するポアソンモデル,ガンマおよび逆ガウスモデルがある.
誤差分散は予測 の関数であり,分散パラメータとして言及される定数 までの分布により定義される.フィットされた値に対する誤差分散 と書くことができる.ここで は観察された応答値および予測された応答力得られた分散パラメータであり, は指数型分布族に関連付けられた分散関数である.
次は線形回帰モデルをフィットする:
同じデータに正準ガンマ回帰モデルをフィットする:
次はモデルの関数的形式である:
ロジットおよびプロビットモデルは確率でよく使われる二項モデルである.ロジットモデルの連結関数はであり,プロビットモデルの連結関数は標準の正規分布に対してはCDFの逆関数である.このタイプのモデルは,ExponentialFamily->"Binomial"で適切なLinkFunctionを持つGeneralizedLinearModelFit,またはLogitModelFitProbitModelFitでフィットすることができる.
LogitModelFit[data,funs,vars]
基底関数 funs,予測子変数 vars のロジットモデルを得る
LogitModelFit[{m,v}]
計画行列 m,応答ベクトル v のロジットモデルを得る
ProbitModelFit[data,funs,vars]
data に対するプロビットモデルのフィットを得る
ProbitModelFit[{m,v}]
計画行列 m,応答ベクトル v へのプロビットモデルのフィットを得る
ロジットおよびプロビットモデルのフィット
パラメータ推定は,想定される分布の分散関数から得られた重みで繰返し最小二乗に重みを付けることにより得られる.GeneralizedLinearModelFitのオプションには,PrecisionGoal等の反復フィットに対するオプション,LinkFunction等のモデル指定に対するオプション,ConfidenceLevel等の更なる解析のためのオプションが含まれる.
オプション名
デフォルト値
AccuracyGoalAutomatic
目標確度
ConfidenceLevel95/100
パラメータと予測の信頼水準
CovarianceEstimatorFunction"ExpectedInformation"
パラメータ共分散行列のための推定法
DispersionEstimatorFunctionAutomatic
誤差分散を推定する値または関数
ExponentialFamilyAutomatic
y の指数型分布
IncludeConstantBasisTrue
定数基底関数を入れるかどうか
LinearOffsetFunctionNone
線形予測量における既知のオフセット
LinkFunctionAutomatic
モデルの連結関数
MaxIterationsAutomatic
使用する最大反復回数
NominalVariablesNone
名義的,カテゴリ的とみなされる関数
PrecisionGoalAutomatic
目標とする精度
WeightsAutomatic
データ要素の重み
WorkingPrecisionAutomatic
内部計算で使われる精度
GeneralizedLinearModelFitで使用可能なオプション
LogitModelFitおよびProbitModelFitのオプションはGeneralizedLinearModelFitのオプションと同じであるが,異なる点はExponentialFamilyLinkFunctionはロジットあるいはプロビットモデルにより定義されるため,これらはLogitModelFitおよびProbitModelFitのオプションではないという点だけである.
ExponentialFamilyには"Binomial""Gamma""Gaussian""InverseGaussian""Poisson""QuasiLikelihood"を取ることができる.二項モデルは0から1までの応答に有効である.ポワソンモデルは非負の整数の応答に有効である.ガウス,正規モデルは実数応答に,ガンマおよび逆ガンマモデルは正の応答に有効である.擬似尤度モデルは, 番目のデータ点に対する擬似尤度関数の対数が で与えられるような分散関数 で分布構造を定義する."QuasiLikelihood"モデルの分散関数は,オプションでExponentialFamily->{"QuasiLikelihood", "VarianceFunction"->fun}として設定することができる.ここで fun はフィットされた値に適用される純関数である.
DispersionEstimatorFunctionは分散パラメータ を推測するための関数を定義する.推定 は線形および非線形回帰モデルでいう と同様である.
ExponentialFamilyIncludeConstantBasisLinearOffsetFunctionLinkFunctionNominalVariablesWeightsはすべてモデル構造および最適化基準のある部分を定義し,GeneralizedLinearModelFitの内部だけで設定することができる.他のオプションはすべてGeneralizedLinearModelFit内で設定することもできるし,結果と診断を得るときにFittedModelに渡すこともできる.FittedModelオブジェクトの評価において設定されるオプションはフィットの段階でGeneralizedLinearModelFitに与えられている設定より優位になる.
次はガンマモデルにおけるパラメータに95%および99%の信頼区間を与える:
"BasisFunctions"
基底関数のリスト
"BestFit"
フィットされた関数
"BestFitParameters"
パラメータ推定
"Data"
入力データあるいは計画行列と応答ベクトル
"DesignMatrix"
モデルに対する計画行列
"Function"
最適フィットの純関数
"LinearPredictor"
フィットされた線形結合
"Response"
入力データにおける応答値
データおよびフィットされた関数に関する特性
"BestFitParameters"は基底関数に対するパラメータ推定を与える."BestFit"はフィットされた関数 を,"LinearPredictor"は線形結合 を与える."BasisFunctions"は,定数項がモデルに存在する場合に を定数1とした関数 のリストを与える."DesignMatrix"は基底関数についての計画行列あるいはモデル行列である.
"Deviances"
尤離度
"DevianceTable"
尤離度表
"DevianceTableDegreesOfFreedom"
表からの自由度の差
"DevianceTableDeviances"
表からの尤離度の差
"DevianceTableEntries"
表からのフォーマットされていない値の配列
"DevianceTableResidualDegreesOfFreedom"
表からの自由度残差
"DevianceTableResidualDeviances"
表からの残差の尤離度
"EstimatedDispersion"
予測分散パラメータ
"NullDeviance"
ヌルモデルの尤離度
"NullDegreesOfFreedom"
ヌルモデルの自由度
"ResidualDeviance"
フィットしたモデルでの分散と完全モデルでの分散との差分
"ResidualDegreesOfFreedom"
モデル自由度とヌル自由度の差
分散とモデルからの逸脱に関連する特性
尤離度と尤離度表は線形モデルの分散分析により与えられるモデルの分解を一般化する.単独のデータ点に対する尤離度はであり,ここで はフィットされたモデルの対数尤度関数である."Deviances"はすべてのデータ点に対する尤離値のリストを与える.すべての尤離度の総和はモデルの尤離度を与える.モデルの尤離度は,線形モデルで平方和がANOVA表にあるときは分解することができる.この完全モデルでは,予測された値がデータと同じである.
次は2つの予測子変数を持つデータである:
これでデータを逆ガウスモデルにフィットする:
次はモデルに対する尤離度表である:
平方和の場合と同じように,尤離度は加法的である.表のDevianceの列で,与えられた基底関数が加えられるとモデルの尤離度が増すことが分かる.Residual Devianceの列はモデルの尤離度と表の中のすべての項を含む部分も出るの尤離度との差分を与える.大きい標本の場合,尤離度の増加は自由度が表の基底関数の自由度に等しい 分布にほぼ従っている.
"NullDeviance"はヌルモデルの尤離度である.ヌルモデルとは,定数(定数項が含まれないときは)を含むモデルに対して観察されたすべての応答の平均に等しい定数モデルのことである.
"ANOVATable"の場合と同様に,"DevianceTable"から列あるいはフォーマットされていない項目の配列を抽出するためのプロパティがたくさん含まれている.
"AnscombeResiduals"
アンスコム(Anscombe)残差
"DevianceResiduals"
尤離度残差
"FitResiduals"
実際の応答と予想された応答の差
"LikelihoodResiduals"
尤度残差
"PearsonResiduals"
ピアソン(Pearson)残差
"StandardizedDevianceResiduals"
標準化された尤離度残差
"StandardizedPearsonResiduals"
標準化されたピアソン残差
"WorkingResiduals"
作業残差
残差のタイプ
"FitResiduals"は残差,つまり観察された応答と予測された応答との差分のリストである.分布の仮定があるとき,残差の大きさは予測された応答値の関数として変化するものと想定される.一般化された線形モデルの分析では,スケールされた残差のさまざまなタイプが使われる.
および がそれぞれ尤離度と 番目のデータ点の残差ならば, 番目の尤離残差は で与えられる. 番目のピアソン残差は は指数型分布族の分散関数)と定義される.標準化された尤離度残差と標準化されたピアソン残差には はハット行列の 番目の対角要素)による割算が含まれる."LikelihoodResiduals"値は尤離度とピアソン残差を組み合せたものである. 番目の尤度残差は で与えられる.
"AnscombeResiduals"は正規化に向けた残差の変換を提供するため,これらの残差のプロットはホワイトノイズのように粗く見える. 番目のアンスコム残差は と書くことができる.
"WorkingResiduals"は反復フィットの最終ステップからの残差である. 番目の作業残差は, で評価された として得られる.
次で逆ガウスモデルに対する残差とアンスコム残差をプロットする:
"CorrelationMatrix"
漸近的なパラメータ相関行列
"CovarianceMatrix"
漸近的なパラメータ共分散行列
"ParameterConfidenceIntervals"
パラメータの信頼区間
"ParameterConfidenceIntervalTable"
フィットされたパラメータの信頼区間情報の表
"ParameterConfidenceIntervalTableEntries"
表からのフォーマットされていない値の配列
"ParameterConfidenceRegion"
楕円体パラメータ信頼領域
"ParameterTableEntries"
表からのフォーマットされていない値の配列
"ParameterErrors"
予測パラメータの標準誤差
"ParameterPValues"
パラメータ 統計の
"ParameterTable"
フィットされたパラメータ情報の表
"ParameterZStatistics"
パラメータ推定の 統計
パラメータ推定の特性と診断
"CovarianceMatrix"はフィットされたパラメータ間の共分散を与え,線形モデルの定義に非常に類似している.CovarianceEstimatorFunction->"ExpectedInformation"の設定では,反復フィットにより得られる想定された情報行列が使われる.この行列は であり, は計画行列, はフィットの最終段階からの重みの対角行列である.重みにはWeightsオプションで指定された重みおよび分布の分散関数に関連付けられた重みが含まれる.CovarianceEstimatorFunction->"ObservedInformation"と設定すると,この行列は により与えられる.ここで はそのモデルのパラメータについて対数尤度関数のヘッシアンである,観察されたフィッシャー(Fisher)情報行列である.
"CorrelationMatrix"はパラメータ推定に対して関連付けられた共分散行列である."ParameterErrors"は共分散行列の対角要素の平方根と等価である. "ParameterTable"および"ParameterConfidenceIntervalTable"には個々のパラメータ推定,パラメータ有意度の検定,信頼区間に関する情報が含まれる.一般化された線形モデルの検定統計量は漸近的に正規分布に従う.
"CookDistances"
クック(Cook)の距離のリスト
"HatDiagonal"
ハット行列の対角要素
影響尺度関連特性
"CookDistances"および"HatDiagonal"はその影響力の測定を線形回帰から一般化された線形モデルへと拡張する.対角要素が抽出されたハット行列は,反復フィットの最終的な重みを使って定義される.
影響力のクック距離は,線形回帰と同様であるが標準化された残差を標準化されたピアソン残差で置き換えることで定義される. 番目のクック距離は 番目の標準化されたピアソン残差)で与えられる.
"PredictedResponse"
データに対してフィットされた値
予測値特性
"AdjustedLikelihoodRatioIndex"
BenAkivaとLermanの修正尤度比指数
"AIC"
赤池情報量基準
"BIC"
ベイズ(Bayes)情報量基準
"CoxSnellPseudoRSquared"
CoxとSnellの擬似
"CraggUhlerPseudoRSquared"
CraggとUhlerの擬似
"EfronPseudoRSquared"
Efronの擬似
"LikelihoodRatioIndex"
McFaddenの尤度比指数
"LikelihoodRatioStatistic"
尤度比
"LogLikelihood"
フィットされたモデルのための対数尤度
"PearsonChiSquare"
ピアソンの 統計
適合度尺度の特性
"LogLikelihood"はフィットされたモデルに対する対数尤度である."AIC"および"BIC"は罰則付き対数尤度 である.ここで はフィットされたモデルに対する対数尤度, は分散パラメータを含む推定されるパラメータ数, 個のデータ点のモデルにおいて"AIC"では2"BIC"では である."LikelihoodRatioStatistic"により与えられ,はヌルモデルの対数尤度を表す.
多数の適合度の尺度では,線形回帰の を説明されたバリエーションの尺度あるいは尤度ベースの尺度として一般化する."CoxSnellPseudoRSquared" により与えられる."CraggUhlerPseudoRSquared"はCoxとSnellの尺度 をスケールしたものである."LikelihoodRatioIndex"には対数尤度の比が関わっており,"AdjustedLikelihoodRatioIndex"はパラメータの数で罰則が付いて適合する."EfronPseudoRSquared"の平方和の解釈を使い,(ここで 番目の残差, は応答 の平均である)として与えられる.
"PearsonChiSquare" はピアソン残差)と等価である.

非線形モデル

非線形の最小二乗モデルは線形モデルの拡張であり,ここではモデルは基底関数の線形結合である必要はない.誤差は独立であると想定され,正規分布に従う.このタイプのモデルはNonlinearModelFit関数を使ってフィットすることができる.
NonlinearModelFit[{y1,y2,},form,{β1,},x]
パラメータ βi,単独のパラメータ予測子変数 x の関数 form の非線形モデルを得る
NonlinearModelFit[{{x11,,y1},{x21,,y2}},form,{β1,},{x1,}]
複数の予測子変数 xi の関数として非線形モデルを得る
NonlinearModelFit[data,{form,cons},{β1,},{x1,}]
制約条件 cons に従う非線形モデルを得る
非線形モデルのフィット
非線形モデルの形式は であり,ここで はフィットされた,あるいは予測された値, はフィットされるパラメータ, は予測子変数である.他の非線形最適化問題すべてでそうであるように,パラメータの初期値によい値を選ぶことが大切である.初期値はFindFitと同じパラメータ指定を使って与えることができる.
次は非線形モデルを平方根の数列にフィットする:
モデルフィットおよびモデル分析のオプションが利用できる.
オプション名
デフォルト値
AccuracyGoalAutomatic
目標確度の桁数
ConfidenceLevel95/100
パラメータと予測の信頼性のレベル
EvaluationMonitorNone
expr が評価されるたびに評価する式
MaxIterationsAutomatic
使用する最大反復回数
MethodAutomatic
使用するメソッド
PrecisionGoalAutomatic
目標精度
StepMonitorNone
ステップが取られるたびに評価される式
VarianceEstimatorFunctionAutomatic
誤差分散を推定するための値または関数
WeightsAutomatic
データ要素の重み
WorkingPrecisionAutomatic
内部計算で使われる精度
NonlinearModelFitで使用可能なオプション
AccuracyGoalMethodWorkingPrecision等の一般的な数値オプションはFindFitの場合と同じである.
Weightsオプションは重み付きの非線形回帰に対する重みの値を指定する.最適なフィットは重み付き誤差平方和に対するものである.
他のオプションはすべて初期フィットの後の結果の計算に関連し得る.これらのオプションは,フィットで使用するためにNonlinearModelFit内で設定することも,FittedModelオブジェクトから得られた結果に対するデフォルト設定を指定するため設定することもできる.これらのオプションはすでに構築されたFittedModelオブジェクト内で設定して,はじめにNonlinearModelFitに与えられたオプション値をオーバーライドすることもできる.
"BestFit"
フィットされた関数
"BestFitParameters"
パラメータの推定
"Data"
入力データ
"Function"
最もよくフィットした純関数
"Response"
入力データの応答値
データとフィットされた関数に関連する特性
非線形モデルのデータおよびフィットされた関数の基本的な特性は線形および一般化された線形モデルでの同じ特性と同様に動作する.例外は"BestFitParameters"FindFitの結果に対して行われるような規則を返すという点である.
次はパラメータ推定に対してフィットされた関数と規則を返す:
非線形モデルに対する診断の多くは,線形回帰の概念を拡張あるいは一般化する.これらの拡張は線形近似,または大規模な標本近似に依存することが多い.
"FitResiduals"
実際の応答と予想された応答の差
"StandardizedResiduals"
各余剰について標準誤差で割った余剰のフィット
"StudentizedResiduals"
単一の削除誤差推定で割った剰余のフィット
残差のタイプ
線形回帰の場合と同様に,"FitResiduals"は観察された値とフィットされた値との間の差分を与える."StandardizedResiduals""StudentizedResiduals"はこれらの差分をスケールした形式である.
標準化された 番目の残差はである.ここで は推定誤差分散, はハット行列の 番目の対角要素, 番目のデータ点に対する重み,スチューデント化された 番目の残差は 番目の単独削除変数 で置き換えて得られる.非線形モデルの場合は,計画行列に対して一次近似が使われるが,これはハット行列を計算するのに必要なのである.
"ANOVATable"
分散分析表
"ANOVATableDegreesOfFreedom"
ANOVA表からの自由度
"ANOVATableEntries"
表からのフォーマットされていない配列の値
"ANOVATableMeanSquares"
表からの平方平均誤差
"ANOVATableSumsOfSquares"
表からの平方和
"EstimatedVariance"
誤差分散の推定
平方誤差の総和に関連した特性
"ANOVATable"はフィットされた関数および誤差・残差のデータ属性における分散の分解を提供する.
以下は非線形モデルに対するANOVA表を与える:
補正されない総平方和は平方和の応答を与え,補正された総平方和は応答とその平均値との差分の平方和を与える.
"CorrelationMatrix"
漸近的なパラメータ相関行列
"CovarianceMatrix"
漸近的なパラメータ共分散行列
"ParameterBias"
パラメータ推定の推定の偏り
"ParameterConfidenceIntervals"
パラメータの信頼区間
"ParameterConfidenceIntervalTable"
フィットされたパラメータの信頼区間情報の表
"ParameterConfidenceIntervalTableEntries"
表からのフォーマットされていない値の配列
"ParameterConfidenceRegion"
楕円体パラメータ信頼領域
"ParameterErrors"
予測パラメータの標準誤差
"ParameterPValues"
パラメータ 統計の
"ParameterTable"
フィットされたパラメータ情報の表
"ParameterTableEntries"
表からのフォーマットされていない値の配列
"ParameterTStatistics"
パラメータ推定の 統計
パラメータ推定の特性と診断
"CovarianceMatrix"はフィットされたパラメータ間の近似共分散を与える.この行列は であり,ここで は分散推定, はモデルに対する線形近似の計画行列, は重みの対角行列である."CorrelationMatrix"はパラメータ推定値に対して関連付けられた相関行列である."ParameterErrors"は共分散行列の対角要素の平方根と等価である.
"ParameterTable"および"ParameterConfidenceIntervalTable"には,誤差推定を使って得られた個々のパラメータ推定値,パラメータ有意性の検定,信頼区間についての情報が含まれる.
"CurvatureConfidenceRegion"
曲率診断の信頼区間
"FitCurvatureTable"
曲率診断表
"FitCurvatureTableEntries"
表からのフォーマットされていない値の配列
"MaxIntrinsicCurvature"
最大内部曲率尺度
"MaxParameterEffectsCurvature"
パラメータ効果曲率の尺度
曲率診断特性
多くの診断で使われる一次近似はモデルがパラメータで線形であることに等しい.パラメータ推定付近のパラメータ空間が十分平坦な場合,線形近似および一次近似に依存するあらゆる結果は有効であるとみなされる.近似による線形性が有効であるかどうかを評価するために曲率診断が使われる."FitCurvatureTable"は曲率診断の表である.
"MaxIntrinsicCurvature"および"MaxParameterEffectsCurvature"は最もよくフィットしたパラメータ値におけるパラメータ空間の法曲率および正接曲率をスケールした尺度である."CurvatureConfidenceRegion"は最もよくフィットしたパラメータ値におけるパラメータ空間の曲率半径をスケールした尺度である.法曲率と正接曲率が"CurvatureConfidenceRegion"の値に対して小さい場合,線形近似が妥当であるとみなされる.経験則にはその値を直接比較することを勧めるものもあれば,"CurvatureConfidenceRegion"の半分と比較することを勧めるものもある.
次は非線形モデルに対する曲率表である:
"HatDiagonal"
ハット行列の対角要素
"SingleDeletionVariances"
番目のデータ点を除いた変動推定のリスト
影響尺度関連特性
ハット行列は となるような行列 である.ここで は観察された応答, は予測された応答ベクトルである."HatDiagonal"はハット行列の診断的要素を与える.他の特性と同様に, はモデルへの線形近似に計画行列を使う.
"SingleDeletionVariances" 番目の要素はに等しい.ここで はデータ点の数, はパラメータの数, 番目のハット対角, はデータ全体の分散推定, 番目の残差である.
"MeanPredictionBands"
平均予測の信頼帯
"MeanPredictionConfidenceIntervals"
平均予測の信頼区間
"MeanPredictionConfidenceIntervalTable"
平均予測の信頼区間表
"MeanPredictionConfidenceIntervalTableEntries"
表からのフォーマットされていない値の配列
"MeanPredictionErrors"
平均予測の標準誤差
"PredictedResponse"
データのフィットされた値
"SinglePredictionBands"
1回の観察に基づいた信頼帯
"SinglePredictionConfidenceIntervals"
1回の観察の予想される応答の信頼区間
"SinglePredictionConfidenceIntervalTable"
1回の観察の予想される応答の信頼区間の表
"SinglePredictionConfidenceIntervalTableEntries"
表からのフォーマットされていない値の配列
"SinglePredictionErrors"
1回の観察の予測応答の標準誤差
予測値関連特性
信頼区間に対する表の結果は"MeanPredictionConfidenceIntervalTable"および"SinglePredictionConfidenceIntervalTable"で与えられる.これらの結果は線形モデルの場合にLinearModelFitで得られる結果と同じである.ここでも計画行列に一次近似が使われる.
"MeanPredictionBands"および"SinglePredictionBands"は予測子変数の関数を与える.
以下でフィットされた関数と平均予測の信頼帯が得られる:
以下はフィットされた曲線と信頼帯をプロットしたものである:
"AdjustedRSquared"
モデルパラメータの数に適応された
"AIC"
赤池情報量基準
"BIC"
ベイズ(Bayes)情報量基準
"RSquared"
決定係数
適合度尺度の特性
"AdjustedRSquared""AIC""BIC""RSquared"は,線形モデルに対して定義されているように,すべて尺度を直接拡張したものである.決定係数"RSquared" であり,は平方和の残差, は未補正の全平方和である.非線形モデルでは,決定係数は線形モデルでそうであるような,説明された分散の割合と同じ解釈は持たない.それは,モデルに対する平方和と残差に対する平方和が必ずしも全平方和にはならないからである."AdjustedRSquared"はモデルのパラメータ数について罰則が付き,により与えられる.
"AIC"および"BIC"はモデルに対する対数尤度の倍に を足したものに等しい.ここで は推定された分散を含む,推定されるパラメータ数である."AIC"では "BIC"では である.
近似関数と補間
多くの数値計算では,近似関数を導入すると便利である.近似関数とは普通に使う実数の近似を一般化したものと考えればよい.すなわち,実数の近似数がある数値的な量を特定の桁精度で表すならば,近似関数は単一,もしくは複数のパラメータに依存した量を特定の精度で表すもの,ととらえる.Wolfram言語では,NDSolveを使い求めた微分方程式の解を表すために近似関数が使われている.詳しくは,「微分方程式の数値解法」を参照のこと.
Wolfram言語における近似関数はInterpolatingFunctionオブジェクトで表される.この補間オブジェクトは「純関数」で説明した純関数と同じように機能する.InterpolatingFunctionの基本的な機能は,特定の引数を与えたときにその引数に対応する近似関数の値を与えることである.
InterpolatingFunctionは内挿手法に基づいた近似関数を与える.通常,一連の点における関数値を持つが,さらに微分値を持つときもある.また,補間法の前提として,関数がデータ点の間で滑らかに変化するものとされる.このInterpolatingFunctionに任意点における関数の値を要求すると,データから内挿処理がなされ,必要な値が近似される.
Interpolation[{f1,f2,}]
連続した整数点におけるデータ値 fi をもとに補間法を使い近似関数を構築する
Interpolation[{{x1,f1},{x2,f2},}]
変数の点 xi におけるデータ値 fi をもとに補間法を使い近似関数を構築する
近似関数の構築
正弦関数で補間点のリストを作っておく:
得られた値を表す近似関数を構築する:
この近似関数はリストの各値を再現する:
リストにない他の点において近似値を得ることもできる:
得られた補間は,もとの正弦をよく近似している:
近似関数は他のWolfram言語関数と同じように使うことができる.つまり,近似関数をプロットしたり,積分や根の探索等のための数値的操作を行うことができる.
数値でない未知の引数を使うと,近似関数は記号的な形でしか求まらない:
近似関数を数値積分する:
真の正弦関数の数値積分を計算してみる:
近似関数をプロットする.グラフから真の正弦と見分けられないほど似ていることが分かる:
近似関数を微分すると,Wolfram言語では導関数を表した別の近似関数が生成される.
正弦を計算する近似関数を微分し,における導関数の値を求める:
真の導関数値を確認してみよう.ほとんど同じなことが分かる:
InterpolatingFunctionオブジェクトには,Wolfram言語の処理で必要になる,近似関数に関する情報がすべて含まれる.標準的なWolfram言語の出力表記を使っている場合,InterpolatingFunctionオブジェクトの定義域を与える部分だけが表示される.InterpolatingFunctionオブジェクトで実際に使われたパラメータは略式表示される.
標準出力表記では,InterpolatingFunctionオブジェクトの定義域と出力型だけが具体的に表示される:
定義域の外にある点で関数を計算すると,Wolfram言語から警告が発せられ,外挿処理により値が求められる:
近似関数についてより多くの情報を与えれば,それだけWolfram言語の近似精度も向上する.具体的には,関数の0次データだけでなく微分値も与えると精度の向上が期待できる.
Interpolation[{{{x1},f1,df1,ddf1,},}]
近似関数の構築において点 xi における導関数も補間データとして使う
導関数を使った近似関数の構築
以下は正弦関数とその第1導関数の値から補間する:
上の補間よりも導関数へのより適切な補間を見付ける:
Interpolationは,データ点を多項式曲線でフィットさせるために使う.曲線の次数を指定するときにはオプションInterpolationOrderを使う.このオプションはデフォルトで,InterpolationOrder->3の設定になっているので,特に指定しなければ三次曲線でフィット処理が行われる.
余弦を使ってフィットさせるデータを作っておく:
データの点と点の間を線形補間する.近似関数が生成される:
求まった近似関数は直線成分からなる:
デフォルトのままだと,InterpolationOrder->3が有効なので,三次曲線でフィット処理が行われる.三次でも関数は滑らかである:
通常,InterpolationOrderの設定値を高くすればするほど,より滑らかな近似関数が得られる.ただし,高く設定しすぎると,曲線にまばらな振動部が現れてしまう.
ListInterpolation[{{f11,f12,},{f21,},}]
格子状の2D座標平面における各整数格子点における値を補間する関数を構築する
ListInterpolation[list,{{xmin,xmax},{ymin,ymax}}]
等間隔で区画化した格子状の2D座標平面を前提とする
ListInterpolation[list,{{x1,x2,},{y1,y2,}}]
任意間隔で区画化した格子状の2D座標平面を前提とする
多次元配列的なデータの補間
整数格子点におけるデータ値を補間する:
得られた補間関数を使い特定点の値を求める:
別の配列データを作っておく:
この配列を補間するには,定義域がどうなっているかをWolfram言語で指定しなければいけない:
ListInterpolationは何次元の配列でも機能する.補間結果として,特定の数の引数を必要とするInterpolatingFunctionオブジェクトが生成される.
三次元配列を補間する:
生成されたInterpolatingFunctionオブジェクトには引数が3ついる:
Wolfram言語は,純粋に数値的な近似関数だけでなく文字パラメータを伴った関数も扱うことができる.
パラメータabに依存したInterpolatingFunctionオブジェクトが生成される:
こうすると,2.2の点における内挿値がどうパラメータに依存しているかが分かる:
InterpolationOrderがデフォルトの設定だと,この点における値はaに依存しなくなる:
近似関数をもとにした処理を行っていると,複雑に組み合さったInterpolatingFunctionオブジェクトが得られてしまうことがよくある.そのようなときは,特定の定義域についてFunctionInterpolationを適用させることで単一のInterpolatingFunctionオブジェクトに統合できる.
定義域を0から1とするInterpolatingFunctionオブジェクトを新たに生成する:
ネストしたInterpolatingFunctionオブジェクトを生成する:
純粋な二次元InterpolatingFunctionオブジェクトを生成する:
FunctionInterpolation[expr,{x,xmin,xmax}]
exprxxmin から xmax まで評価することで近似関数を構築する
FunctionInterpolation[expr,{x,xmin,xmax},{y,ymin,ymax},]
多次元で有効な近似関数を構築する
式の評価による近似関数の構築
離散フーリエ変換
データ解析でよく使われる標準的な解析手法に,値のリストの離散フーリエ(Fourier)変換(またはスペクトル解析)がある.フーリエ変換の基本は,特定の周波数点や帯域においてデータがどのような強度の信号成分を持つかを調べることにある.
Fourier[{u1,u2,,un}]
離散フーリエ変換
InverseFourier[{v1,v2,,vn}]
逆離散フーリエ変換
離散フーリエ変換と逆変換
矩形波のデータを入力する:
データを離散フーリエ変換する.結果には複素数が入る:
逆離散フーリエ変換を行う:
Fourierはデータの総数が2のベキ乗であるか否かにかかわらず機能する:
要素数が200で,ランダムノイズを加えた周期信号データを生成する:
このデータを,そのままプロットするとランダムなように見える:
しかし離散フーリエ変換を施すと,の位置と,それに対称なの位置にピークが示される.これはもとの信号の周波数成分がの近くにあることを反映している:
Wolfram言語では長さ のリスト の離散フーリエ変換 のデフォルトの定義は である.ゼロ周波数項は得られたリストの最初の位置にあることに注意する.
長さ のリスト の逆離散フーリエ変換 のデフォルトの定義は である.
科学技術分野では離散フーリエ変換の定義は分野によってさまざまな規約がある.オプションFourierParametersを使用して必要な規約を選択することができる.
一般的な規約
設定
離散フーリエ変換
逆離散フーリエ変換
Wolfram言語デフォルト
{0,1}
データ解析
{-1,1}
信号処理
{1,-1}
一般の場合
{a,b}
さまざまな規約でのFourierParametersの典型的な設定
Fourier[{{u11,u12,},{u21,u22,},}]
二次元離散フーリエ変換
二次元離散フーリエ変換
Wolfram言語では,任意次元のデータの離散フーリエ変換が可能である. 次元のデータは,深さが レベルでネストされたリストで指定する.二次元離散フーリエ変換は画像処理でよく使われる.
実数データに対する通常の離散フーリエ変換に関する問題のひとつに,結果が複素数値になるというものがある.実数のフーリエ変換で実数の結果を出す種類のものもある.Wolfram言語には離散余弦変換と離散正弦変換を計算するためのコマンドがある.
FourierDCT[list]
実数のリストのフーリエ離散余弦変換
FourierDST[list]
実数のリストのフーリエ離散正弦変換
実数の離散フーリエ変換
方形波に対応するデータである:
次はデータのフーリエ離散余弦変換である:
以下はデータのフーリエ離散正弦変換である:
通常使用されるフーリエ離散正弦変換とフーリエ離散余弦変換にはそれぞれ4種類がある.それらは,タイプIIの離散余弦変換をDCTIIというように,数字やローマ数字で表される.
FourierDCT[list,m]
タイプ m のフーリエ離散余弦変換
FourierDST[list,m]
タイプ m のフーリエ離散正弦変換
異なるタイプの実数の離散フーリエ変換
FourierDCTFourierDSTはどちらもデフォルトはタイプ2である.
Wolfram言語にはInverseFourierDCT関数とInverseFourierDST関数は必要ない.それはFourierDCTFourierDSTが適切なタイプで使用されると,それ自身の逆関数となるからである.タイプ1,2,3,4の逆変換はそれぞれタイプ1,3,2,4となる.
タイプ3の変換がタイプ2の変換の逆であることを検証する:
実数の離散フーリエ変換は,データや画像の圧縮に使用するのに便利である.
辺のようなデータである:
離散余弦変換は,最初の数モードに情報のほとんどがある:
最初の20モード(最初のデータサイズの10分の1)だけからフロントを再構築する.振動は切取りの結果であり,画像処理アプリケーションでも現れることが分かっている:
たたみ込みと相関
たたみ込みと相関はデータリストに関する多くの演算の中核をなす.信号および画像処理,統計データ解析,偏微分方程式の近似や,数値列やベキ級数に対する演算等の分野で使用される.
たたみ込みと相関の基本的な考え方は核のリストをデータリストのサブリストと連続的に結合することである.核 とリスト とのたたみ込みの一般的な形式は で,相関の一般的な形式は である.
ListConvolve[kernel,list]
kernellist のたたみ込みの形成
ListCorrelate[kernel,list]
kernellist の相関の形成
リストのたたみ込みと相関
{x,y}とデータリストとのたたみ込みを形成する:
相関を形成する:
この場合,核を反転するとListConvolveと全く同じ結果が得られる:
データの連続した差分を形成する:
核と結合させるサブリストを構成する際,データリストの最後をどう扱うかが常に問題になる.デフォルトではListConvolveおよびListCorrelateはデータリストの最後から「はみ出す」サブリストは作成しない.これは得られる結果が通常はもとのデータリストより短いことを意味している.
長さ6の入力リストに関して,この場合出力の長さは4である:
実際上,もとのデータリストと同じ長さの出力を得たい場合がしばしばある.このためにはデータリストの片側または両側がはみ出すようなサブリストが必要となる.こういったサブリストの形成に必要な追加要素は,ある種の「パディング」で充填される必要がある.デフォルトではWolfram言語は,もとのリストの複製を作り,パディングを与え,リストを循環的に扱うようになっている.
ListCorrelate[kernel,list]
どちら側にもはみ出しを許さない(結果は list より短い)
ListCorrelate[kernel,list,1]
右側にはみ出しを許す(結果は list と同じ長さ)
ListCorrelate[kernel,list,-1]
左側にはみ出しを許す(結果は list と同じ長さ)
ListCorrelate[kernel,list,{-1,1}]
両側にはみ出しを許す(結果は list よりも長い)
ListCorrelate[kernel,list,{kL,kR}]
左側および右側に特別なはみ出しを許す
データリストの両端での処理を制御する
デフォルトでは,はみ出しはない:
最後の要素の最後の項がリストの最初から取られている:
最初の要素の第1項と最後の要素の最終項はともにラップされている:
一般的な場合,ListCorrelate[kernel,list,{kL,kR}]は,結果の最初の要素では list の最初の要素が kernel の位置 kL にある要素と掛けられ,結果の最後の要素では list の最後の要素が kernel の位置 kR にある要素と掛けられるようになっている.したがって,はみ出しがどちら側にも許されないとされるデフォルトの場合はListCorrelate[kernel,list,{1,-1}]に相当する.
長さ3の核に関して,{-1,2}で揃えると,常に結果の最初および最後の要素を同じにする:
多くの種類のデータでは,データは循環せずに,ある固定した要素,例えば0やある要素列でどちらかの最後に充填されると仮定すると便利である.
ListCorrelate[kernel,list,klist,p]
要素 p で充填する
ListCorrelate[kernel,list,klist,{p1,p2,}]
pi の循環で充填
ListCorrelate[kernel,list,klist,list]
もとのデータの循環で充填
データリストのパディングを制御する
要素pで充填する:
一般的にはゼロで充填する:
充填が{p,q}で示される場合,リスト{a,b,c}aの下にpが整列した{,p,q,p,q,}でオーバーレイされる:
異なる核を選択することでListConvolveおよびListCorrelateを異なる種類の計算に使用できる.
データの移動平均を見付ける:
これはガウス型の核である:
データを生成する:
このデータをプロットしたものである:
核にデータをたたみ込む:
その結果データが滑らかになる:
ListConvolveおよびListCorrelateを用いて,数値と同様に記号を扱うことができる.
要素が記号の2つのリストのたたみ込みを形成する:
結果は多項式の積を展開した係数と合致する:
ListConvolveおよびListCorrelateは任意次元のデータに使用できる.
ファイルから画像データをインポートする:
画像を示す:
データを二次元の核とたたみ込む:
データに対応する画像を示す:
セルオートマトン
セルオートマトンは配列中のセルの値が局所ルールによって離散的なステップで変更される多くのシステムを表現する便利な方法を提供する.
CellularAutomaton[rnum,init,t]
進化ルール rnuminit から t ステップ進化させる
セルオートマトンの進化の生成
これは与えられたリストから始め,ルール30で4ステップ進化させる:
これはルール30の進化をランダムな初期条件から始めて100ステップまで表示する:
{a1,a2,}
ai の明示的リスト
{{a1,a2,},b}
b 背景に重ねた値 ai
{{a1,a2,},blist}
blist の反復による背景に重ねた値 ai
{{{{a11,a12,},{d1}},},blist}
オフセット di による値 aij
一次元のセルオートマトンにおける初期条件の指定方法
初期値の明示的なリストを与えると,CellularAutomatonはリスト中の要素を反復させることでシステムのすべてのセルに対応すると考える.
最後のセルの右近傍は始まりに当たる:
小さな「種」区域を安定した「背景」に重ねるように初期条件を設定すると便利なことがよくある.デフォルトは,CellularAutomatonは指定された進化ステップ数で作られるパターンの大きさをカバーするに足る背景を自動的に埋める.
これはルール30が1個の黒いセルを含む初期条件から進化する様子を示している:
これは{1,0,1,1}ブロックの繰返しからなる背景上で,ルール30が{1,1}という種で構成される初期条件から進化する様子を示している:
構造間の相互作用を研究する際は特に,特定のブロックが特定のオフセットで置かれているセルオートマトンの初期条件を指定したいことがある.
これはオフセットの黒いセルという初期条件を設定する:
n
,初期ルール
{n,k}
k 色の一般最近傍ルール
{n,k,r}
k 色で範囲 r の一般ルール
{n,{k,1}}
k の最近傍totalisticルール
{n,{k,1},r}
k 色で範囲 r のtotalisticルール
{n,{k,{wt1,wt2,}},r}
近傍 i に重み wti が割り当てられたルール
{n,kspec,{{off1},{off2},,{offs}}}
指定のオフセットの近傍ルール
{lhs1->rhs1,lhs2->rhs2,}
近傍ルールの明示的な置換
{fun,{},rspec}
関数 fun を各近傍リストに適用して得られるルール
一次元のセルオートマトンのルール指定
最も単純な場合は,セルオートマトンは各セルに k 個の可能な値あるいは「色」を許容し,各辺で最高 r までの近傍を含むルールを持つ.「ルール番号」n の各桁の数字は各近傍の可能な設定において新たなセルが何色になるかを指定する.
これは単一の近傍を1ステップ進化させる:
これは のセルオートマトンの8つの可能な近傍である:
これは8つの近傍のそれぞれの中央セルの新たな色を示す:
ルール30によると,このシーケンスは数30の2進法表現での各桁の数字に対応する:
これは の一般ルールでルール番号921408を実行する:
一般的なセルオートマトンのルールでは,ルール番号の各桁の数字が個のセルの可能な近傍が何色になるかを指定する.どの数字がどの近傍に当たるのかが知りたければ近傍中のセルを数字の桁とみなせばよい.のセルオートマトンでは数字は neig.{k^2,k,1}によって近傍中の要素 neig のリストから得られる.
totalistic 」なセルオートマトンを考慮するとよいこともある.「totalistic 」なセルオートマトンではセルの新たな値が近傍の値の合計のみに依存する.「totalistic 」なセルオートマトンはルール番号あるいは各桁の数字が例えば neig.{1,1,1}から得られるように,与えられた総和の値で近傍を参照する「コード」で指定することができる.
一般に,CellularAutomatonを使っていかなる重みのシーケンスを使ったルールでも指定することができる.これとはまた別の便利な点に{k,1,k}がある.これはouter totalisticルールを与える.
これはコード番号867で,, のtotalisticルールを実行する:
領域 のルールはオフセットが から までのすべてのセルを含む.時には特定のオフセットのセルだけを含むルールを考えると便利なことがある.そのような場合は,単一の をオフセットのリストで置換するとよい.
任意の セルオートマトンルールはブール関数に対応すると考えることができる.最も単純な例として,AndまたはNorのような基本的なブール関数は2つの引数を取る.これはセルオートマトンのルールを使ってオフセット{{0},{1}}であると指定することができる.より高次元のセルオートマトンを扱う上での互換性のために,たとえ一次元のセルオートマトンであってもオフセットは常にリストで与える点に注意のこと.
これはセルが2つの近傍ルール番号7の真理値表を生成する.このルールはブール関数Nandであることが分かる:
ルール番号はセルオートマトンルールの非常に簡潔な指定方法を提供する.しかし,各可能な近傍に適用すべき明示的関数を与えるルールを指定する方がより便利なことがある.
これはルールがモジュロ4の各近傍のすべての値を追加する追加的セルオートマトンを実行する:
この関数には第2引数にステップ数が与えられている:
関数でルールを指定する場合,セルの値は整数ではなくてもよい:
記号的にすることもできる:
CellularAutomaton[rnum,init,t]
すべてのステップを保存しながら t ステップ進化する
CellularAutomaton[rnum,init,{{t}}]
最後のステップだけを保存して t ステップ進化する
CellularAutomaton[rnum,init,{spect}]
spect で指定されたステップだけを保存する
CellularAutomaton[rnum,init]
規則を1ステップ分進化させ,最後のステップだけを返す
保存ステップの選択
これはルール30を5ステップ,最後のステップだけを保存して実行する:
これは最後の2ステップを保存する:
これは1ステップ与える:
ステップ指定 spectTakeを使ってリストから要素を取り出すのに似ている.違いは,セルオートマトンの初期条件がステップ0とみなされる点である.{}の形式のステップ指定はどれも追加リストに埋め込まれていなければならない.
u
0から u までのステップ
{u}
ステップ u
{u1,u2}
u1 から u2 までのステップ
{u1,u2,du}
ステップ u1, u1+du,
セルオートマトンのステップ指定
これは100ステップ進化するが1つおきのステップしか保存しない:
CellularAutomaton[rnum,init,t]
すべてのステップとすべての関連するセルを保存する
CellularAutomaton[rnum,init,{spect,specx}]
指定されたステップとセルだけを保存する
保存するステップとセルの選択
セルオートマトンの進化の過程でどのステップを保存するかを指定できるように,どのセルを保存するかも指定できる.{{a1,a2,},blist} のような初期条件を与えると,rd はどのセルを保存するかを指定するためにオフセットが0であると解釈される.
All
指定された初期条件に影響されるすべてのセル
Automatic
領域内の背景とは異なるすべてのセル(デフォルト)
0
aspec のはじめと並んでいるセル
x
右側にオフセット x までのセル
-x
左側にオフセット x までのセル
{x}
右側にオフセット x のセル
{-x}
左側にオフセット x のセル
{x1,x2}
オフセット x1 から x2 までのセル
{x1,x2,dx}
x1, x1+dx, のセル
セルオートマトンのセル指定
これはすべてのステップを保存するがオフセットが左側に20より大きいセルは除去する:
これは中央の列のセルだけを保存する:
{{a1,a2,},blist}のような初期条件を与えると,CellularAutomatonは常に,あたかも無限のセルがあるかのように効果的にセルオートマトンを行う.{x1,x2}のような specx を使うことで,CellularAutomatonx1から x2までの特定のオフセットのセルだけを出力に含むように指示することができる.CellularAutomatonはデフォルトにより背景 blist と同じ値に留まらない程度に十分に離れたセルを含む.
一般に,領域 のセルオートマトンのルールが与えられると,両側に の距離のセルは原則としてシステムの進化に影響される.specxAllとするとすべてのセルが含まれる.デフォルト設定のAutomaticの場合は値が事実上 blist と同じ値に留まるセルはカットされる.
デフォルトにより,常に黒になるとは限らない部分のみが保存される:
specxAllにするとこの領域内でセルオートマトンに影響されるすべてのセルが含まれる:
CellularAutomatonは任意次数に直接一般化される.しかし一般規則の規則表の項目数は天文学的に増えるので,上の2つの次数ではtotalisticやその他の特別な規則の方が有効である.
{n,k,{r1,r2,,rd}}
次元 近傍のルール
{n,{k,1},{1,1}}
二次元9近傍のtotalisticルール
{n,{k,{{0,1,0},{1,1,1},{0,1,0}}},{1,1}}
二次元5近傍のtotalisticルール
{n,{k,{{0,k,0},{k,1,k},{0,k,0}}},{1,1}}
二次元5近傍のouter totalisticルール
高次元のルール指定
これは二次元9近傍コード797のtotalisticなルール指定である:
これは進化におけるステップ0と1を与える:
これは進化におけるステップ70を与える:
これは 軸に沿ったスライスの全ステップを示す: