BimodalAnalysis

Mathematica Package
(BimodalAnalysis.m)
高崎経済大学
宮田庸一
パッケージを用いる
• 現行のディレクトリを調べる
Directory[]
C:\Program Files\Wolfram Research\Mathematica\5.1
• 上記のフォルダにBimodalAnalysis.mをコピー
する
• パッケージBimodalAnalysis.mのインストール
<<BimodalAnalysis.m
CSV FileのImport
data=Import["C:\\Import\\ssh2nen200704.csv","CSV"];
datax1=data[[All,1]];
ind1=data[[All,{2,3}]];
正答率 100%であれば1 0%であれば1
0.888889
0
0
0.861111
0
0
0.416667
0
0
0.972222
0
0
0.75
0
0
0.611111
0
0
0.722222
0
0
0.833333
0
0
0.555556
0
0
EM algorithmの実行
非等分散の正規混合モデル
res1=mclustv[datax1,ind1,2,1,0]
コンポーネントの数
上限の打ち 下限の打ち
切りの値
切りの値
等分散の正規混合モデル
res2=mcluste[datax1,ind1,2,1,0]
ヒストグラム
hist[datax1,st]
hist[datax1]
3
2.5
2
1.5
1
ヒストグラムの幅の指定
st:スタージェスの方法
frd:Freedman-Diaconis(1981)
何も指定しなければ, Mathematicaのデフォールト
の幅が割り当てられる
0.5
0.2
0.4
0.6
0.8
1
histにはg1vという,グラフを表す変数が入っている
グラフを重ねて表示する
• 確率分布に推定量(MLE)を代入した関数をplugin関数を用いて、利用する
ことができる。
plugin[x,res1]
res1にはEM algorithmで求めたMLEに関する情報が入っている
g2v=Plot[plugin[x,res1],{x,Min[datax1],Max[datax1]},PlotRange->{0,2.6}];
2.5
2
1.5
1
0.5
0.2
0.4
0.6
0.8
グラフを重ねて表示する
• ヒストグラムとプラグイン推定量を重ねて表示する
Show[g1v,g2v,DisplayFunction>$DisplayFunction,PlotRange->{0,3.5},Frame->True];
3.5
3
2.5
2
1.5
1
0.5
0.2
0.4
0.6
0.8
1
分位点
• 打ち切りがない場合の分位点を与える
kugiri={.1,.3,.7,.9};← 10%点, 30%点, 70%点, 90%
点,
• 非等分散の場合
seisekiv[datax1,res1,kugiri]
{0.395588,0.529473,0.722604,0.857765}
• 等分散の場合
seisekie[datax1,res2,kugiri]
{0.396228,0.529891,0.721331,0.857566}