ぎょーむ日誌 2009-09-21
2009 年 09 月 21 日 (月)
-
0840 起床.
ちょっとねむい.
朝飯.
コーヒー.
[炊飯用土鍋が壊れた]
ぱかっと.
炊飯中でなくて良かった.
当家には炊飯器がないので
……
しばらくは Brico 鋳鉄 & ホーロー鍋で
炊飯しようかな
……
-
怠業
……
1150 自宅発.
曇.
1210 研究室着.
昼飯.
-
そろそろ放置したうけぎょーむが気になるので,
ちょっとひねってみる.
-
library(flexmix)
で多変量混合分布モデルを扱えるのだが
……
できあいの関数ではできないのかな?
-
じつは できる
なのだが
……
私も計算機も怠業つづきでイマイチなのか,
てれてれと flexmix ドキュメントをよく読んでいると,
library(flexmix)
の「ふれっくす」たる確率分布を自分で定義する,
というハナシが乗っていて,
最後に「まあ,こういうことやらなくても library(mclust)
使えばいいけどね」
といったことが書かれてた.
-
そうか,
多変量正規分布の場合は,
mclust package
でよいのか
……
などと,
ややポーっとしながら,
ちょっと使ってみたんだけど,
何だかおかしい.
標本数が少なすぎるせいか?
> fit <- mclustModel(m, mclustBIC(m))
> mclust2Dplot(m, parameters = fit$parameters, z = fit$z, what = "classfication", identify = TRUE)
> points(m, col = c("#ff4000", "#0000ff")[apply(fit$z, 1, function(x) ifelse(x[1] > x[2], 1, 2))])
-
で,
こりゃダメだと
library(mclust)
からはすたこらさっさと逃げ出してしまったんだけど
……
じつはこれは当該 package に問題があるのではなく,
私のデータの与えかたがめちゃくちゃだった,
とあとになって気づいた.
放置ぎょーむ,
剣呑剣呑.
-
そして
library(flexmix)
でも特に何の工夫も必要なく,
多変量正規混合分布が扱える,
とわかってきた.
たとえばこんなかんぢで.
> wdR <- flexmix(mwd ~ 1, k = 2, model = FLXmclust(diagonal = FALSE))
> plotEll(wdR, mwd) # library(ellipse) が必要 !!!
-
model
指定を FLXMCmvnorm(diagonal = FALSE)
に変えても同じ.
-
ありゃ,
example(FLXmclust)
みたいに
control
を指定すると結果が変わるな
……
> wdR <- flexmix(mwd ~ 1, k = 2, model = FLXmclust(diagonal = FALSE),
+ control = list(minprior=0))
> plotEll(wdR, mwd) # library(ellipse) が必要 !!!
-
読解のカギはこのへんにありそうだが
……
> ?"FLXcontrol-class"
... (略)...
'minprior': Minimum prior probability of clusters, components
falling below this threshold are removed during the
iteration.
... (略)...
> new("FLXcontrol")
An object of class “FLXcontrol”
Slot "iter.max":
[1] 200
Slot "minprior":
[1] 0.05
Slot "tolerance":
[1] 1e-06
Slot "verbose":
[1] 0
Slot "classify":
[1] "auto"
Slot "nrep":
[1] 1
-
まあ,
このあたりの解明は明日以降に
……
と撤退.
1930 研究室発.
買いもの.
2000 帰宅.
晩飯の準備.
-
げ.
冷蔵庫内で
「酢豆腐」
なんぞ作っちまった.
賞味期限は一昨日なのになぁ
……
-
晩飯.
-
[今日の運動]
-
[今日の食卓]
- 朝 (0900):
米麦 0.6 合.
コマツナ.
- 昼 (1230):
研究室.
食パン.
リンゴ.
- 晩 (2120):
米麦 0.8 合.
ニンジン・コンニャク・ブナシメジ・鶏肉の炊きこみ飯.
シジミの味噌汁.
コマツナ・ピーマン・卵の炒めもの.