library(ggplot2)
を応用したロジスティック回帰の図示の例.
なるほど,
いろいろやりようがあるもんだな
……
library(lme4)
の lmer()
やめましょう
library(MCMCglmm)
の MCMCglmm()
のほうがマシです (使いましょう)
MCMCglmm()
をどう使えばよいのか,
というメイルが毎日のようにきて,
その対処におわれぎみ.
自業自得ではあるが
……
まあ
「lmer()
でわけのわからない結果ばかりが得られます」
に対処するよりはマシだと思うことにしよう.
library(MCMCglmm)
を使いこなすのは,
BUGS 系さんぷらーを使いこなすのと同程度の理解が必要であり,
しかも BUGS な連中よりは「できること」が限定されている
MCMCglmm()
のような「限定されたことしかできないもの」のほうが好まれる
傾向があるような気がする.
library(foreach)
と library(doMC)
(ゐんどーづだと library(doSMP)
か?)
の組みあわせなのかなあ?
……
dichika さんの BOD
2011-02-09
エントリー参照.
library(randomForest)
の例題を自分の ThinkPad X201s でやってみたところ,
並列化しない場合は 8.2 秒,
ふたつに分割すると 22.3 秒
と遅くなっている.
library(randomForest)
が (昨年 2 月と比較して) 何か猛烈なるシングルスレッド最適化をしたのか,
はたまた逆に並列化のおーばーへっどがたいへんになったのか?
library(doMC)
による仕事分割は
2 → 4 ではまあ妥当に変化しているように見える
……
仕事分割数を二倍にすると処理時間はだいたい半分になったので.
しかし分割しない場合にまだ負けており,
しかも分割しない場合は正しくひとつのコアしか働いていないように見える.
なぜだ?
google-chrome
とかメモリをどか食いしてるソフトウェアが起動しているときに,
library(doMC)
な並列化をやらせると,
けっこう paging が発生している.
google-chrome
とかを終了してメモリの空き地を増やしてからやってみると
……
MCMCglmm()
こんさるメイルで少し苦しんでみる.
MCMCglmm()
の出力には以下のような table がふくまれているわけだが,
post.mean l-95% CI u-95% CI eff.samp pMCMC (Intercept) -0.361 -0.921 0.190 2862 0.1933 log(stem_Do) 0.685 0.175 1.171 2645 0.0073 sexm -0.548 -1.251 0.265 3000 0.1600 log(stem_Do):sexm -1.016 -1.897 -0.230 3000 0.0160この
pMCMC
とは何だろうか?
MCMCglmm()
の作者 Jarrod Hadfield が r-sig-mixed-models
なるメイリングリストで説明するところ
(2011-08-24)
によると
(document には書いてない!),
pMCMC is the two times the smaller of the two quantities: MCMC estimates of i) the probability that a<0 or ii) the probability that a>0, where a is the parameter value. Its not a p-value as such, and better ways of obtaining Bayesian p-values exist.だってさ. ためしに計算してみたら,
> sum(fit.mcmc$Sol[,1] > 0) * 2 / nrow(fit.mcmc$Sol) [1] 0.19333 > sum(fit.mcmc$Sol[,1] < 0) * 2 / nrow(fit.mcmc$Sol) [1] 1.8067たしかに
0.1933
になってますなぁ
……
HPDinterval finds the closest points (c and d) for which Fa(d)-Fa(c) = 0.95 (If prob=0.95 in HPDinterval) and Fa is the empirical cumulative distribution of a.とのこと.
https://stat.ethz.ch/mailma
だけでも)
こんなに
たくさん!
Hammersley と Clifford の証明は unpublished で, その後に他の人たちが証明をだしたとのこと. Besag (1974) もそのひとつ.これも完全にわすれてた. われながらすごい忘却能力.
www.esj.ne.jp
と
www.e-eafes.org
でアクセスしたときに,
それぞれで行き先を変えてほしいというものだった.
まあ .htaccess
で対処できるだろうと思ったんだけど,
Rewrite
まわりの書きかたを完全に忘れていたので,
時間をくってしまった.
RewriteEngine on #RewriteBase / RewriteCond %{HTTP_HOST} ^www.e-eafes.org$ [NC] RewriteRule ^(www.e-eafes.org[/]*)$ $1/EAFES/ [R=301,L]とりあえずこれで OK?
.htaccess
を評価するまで動作しないんだけど,
他のブラウザだと index.html
に書いてある
redirection を先に実行してしまって .htaccess
は無視する,
と……
ホントかな?
みかけ上はそう動いているような.
index.html
をヤメて index.php
にしてみる.
これでどうだ?
<?php if (strtolower($_SERVER['HTTP_HOST']) == 'www.e-eafes.org') { header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.e-eafes.org/EAFES/"); exit(); } header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.esj.ne.jp/esj/"); ?>
/etc/init.d/mailman restart
,
これでうまくいくかな
……
なおったようだ.
> sort(dl$idpark) [1] 5 6 7 9 10 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [21] 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 [41] 48 49 50 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 [61] 69 70 71 72 73 75 76 77 78 80 81 82 83 84 85 86 87 > (pn <- sort(unique(d$公園No.))) [1] 5 6 7 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [21] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 [41] 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 [61] 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 [81] 87 > pn[!(pn %in% sort(dl$idpark))] [1] 11 51 74 79なるほどー …… ぢゃ, その公園名は……?
> unique(d[d$公園No. %in% c(11, 51, 74, 79), c("公園No.", "公園名")]) 公園No. 公園名 31 11 やはた神社 140 51 地御前ちびっこ公園 242 74 廿日市中央公民館庭 248 79 余田公園ふーん.
library(lattice)
でえいやーっと作図.
library(maptools)
で shapefile を読んだり作図したりぐらいはできるのだが
……
library(maptools)
を使ってよみこみたい
……
ここでも 3 次メッシュのほうは一瞬で読んだけど,
細分メッシュデータの読みこみはいつまでたっても終わらない
……
library(maptools)
の readShapeSpatial()
,
これで問題なく読めたのであとは
その sp
オブジェクトファイルを save()
すればよし!
これで Linux 版 R でも読みこめた
……
なるほど,
「不正な」うんぬんは dbf の「列名」の日本語文字だったのか.
たぶんこいつが Shift-JIS なんだろう.
sp
オブジェクトから緯度経度と属性だけをぬきとって
data.frame をつけて,
下のように色をつけて rect()
してみる.
v.col.usage <- c( "1" = "#80ff0080", # 田 "2" = "#80ff8080", # その他農地 "5" = "#00800080", # 森林 "6" = "#00808080", # 荒地 "7" = "#00000080", # 建物用地 "9" = "#ffff0080", # 幹線交通用地 "A" = "#ff808080", # その他の用地 "B" = "#00ffff80", # 河川及び湖沼 "E" = "#ffffff80", # 海浜 "F" = "#0000ff80", # 海水域 "G" = "#80008080" # ゴルフ場 )
library(RgoogleMaps)
の GetMap.OSM()
関数を使って
(GetMap.OSM(lonR = c(132.28375, 132.365), latR = c(34.300000, 34.381667), scale = 60000)
),
OpenStreetMap
から取得してみた図はこんなかんぢ.
library(RgoogleMaps)
の GetMap.OSM()
関数で地図をとってきたわけだが,
GetMap()
を使うと指定ややめんどうながら Google Maps から
地図を「きりとって」ダウンロードできる.
library(RgoogleMaps) lon <- c(132.28375, 132.365) lat <- c(34.300000, 34.381667) center <- c(mean(lat), mean(lon)) zoom <- min(MaxZoom(range(lat), range(lon))) map <- GetMap( center = center, zoom=zoom, destfile = "aagoogle.png", maptype = "roadmap", # maptype = "satellite", とすると衛星写真 size = c(526, 640) )
postgis
に少しとりくんでみる
……
インストールは簡単だが,
DB を構築したり shp2pgsql
でそれにアクセスするのが難しい
……