算額あれこれ

算額問題をコンピュータで解きます

2013-01-01から1年間の記事一覧

有意水準 20% はナシ

「A/Bテストの数理」への批判http://abrahamcow.hatenablog.com/entry/2013/12/28/210035だけどねえ。ちょっといただけない。ではこの場合、有意水準はいくつくらいにしたらいいんでしょうか?とてもよい質問です。たぶん20%くらいでいいんじゃないかと思い…

数値計算の定石,そして,R の定石

NHKスペシャルを題材に、Rコードの最適化を考える-その2http://markovchainmontecarlo.hatenablog.com/entry/2013/12/27/000000だけど。ネタ振りしているのだとは思うのだけど,そうでもないのかなとも思う。試しに5,000個中250個丁度の貸し倒れが起きる…

n で割るか n-1 で割るか,それが問題だ

RPubs - Rによるやさしい統計学 - 第一章 Rと統計学 http://rpubs.com/azu/stats_with_R_1この一つ前の記事を書いた後,Web の大海を漂っていると,標記のページに出会った。関数を作ってみよう標本分散 var() という関数がネイティブにある不偏分散 自分で …

統計検定2級の問題だそうだ

統計検定2級 2013年11月17日試験の誤答:問18http://ranalytics.blog.fc2.com/blog-entry-53.html これについて,私は,問題が悪いと思う。病気 D(D 群)の患者 8 人,健常者(N 群)の 6 人に糖負荷検査を行い,負荷後 30 分の血糖値(mg/dL)を測定した。…

年齢の計算は暗算でもできる

中澤さんが,> RのISOdate()関数は1899年以前の日付も扱えるので,例えば明治32年7月1日生まれ,> 平成13年3月12日に亡くなった方の生存期間は,> ISOdate(2001,3,12)-ISOdate(1899,7,1)> とすれば,正しくTime difference of 37144 daysと返ってくる。この…

ハートを描くプログラム

中澤さんがハートを描くプログラムを書いていた。----- 引用開始簡単なのでRでコーディングしてみた。 fg = function(x,y) sqrt(abs(x))+y*sqrt(5-x^2)s = sqrt(5-1E-15)curve(fg(x, 1), -s, s, ylim=c(-2,3), col=6)curve(fg(x, -1), -s, s, col=6, add=TRU…

分析プログラムにより結果が違う,そんな馬鹿な

Wikipedia の「主成分分析」に関するページhttp://ja.wikipedia.org/wiki/主成分分析 において。主成分分析を実行するためのソフトウェアや関数によって、観測値の基準化の方法や数値計算のアルゴリズムに微細な差異が多く存在し、必ずしも全く同じ値が出る…

はじめダメなら,最後までダメ

駆け出し統計家のプログラミング手帳http://mizuki999aiu.blog.fc2.com/のχ2 (カイ二乗)検定http://mizuki999aiu.blog.fc2.com/blog-entry-30.html帰無仮説と対立仮説の設定が逆になっており,結論が逆。しっかり!>> カイ2乗検定はt検定や分散分析などとは…

よくある質問

質問!ITmedia > 学問・教育 > 数学 4群の成績の比較。統計 検定、教えてください!http://qa.itmedia.co.jp/qa8339547.htmlこの手の質問は結構ある。データもたくさん(240問への回答の正否)取ったので何とかしたいと思うのだろう。とりあえず,データを…

send+more=money その4

# 漢字かななども使える(1 文字も可)バージョンsmm = function(str) { str = gsub("[ \t]", "", str) str = unlist(strsplit(str, "")) if (grepl(str[1], "+-")) { stop("Unary minus or plus is invalid.") } str = c(str, ".") nChar = length(str) ope…

send+more=money その3

R の for の特性を生かせば,f5 は f6 のようにできる。そして,f6 は f5 より速い。あっという間に答えが出る。 関数の中で base::setdiff を最適化したものを使うようにしている。そのようにしないと(base::setdiff を使うと)むしろ f5 より遅くなる。 f…

send+more=money その2

for なんか使うと遅いだろうと思うだろうが,制約条件をせばめてやれば,むしろ他の方法より速くなる。 f5 = function() { m = 1 o = 0 for (s in 2:9) { for (e in 2:9) { if (e == s) next for (n in 2:9) { if (n == s || n == e) next for (d in 2:9) { …

send+more=money

元記事の関数の実行時間のほぼ90%は,permutations が占める。 なので,残りの部分を凝ってみても速度向上は望めないので,せめて分かりやすく書いてみるか。 f2 = function() { library(gtools) perm = t(gtools::permutations(10, 8))-1 perm = perm[, pe…

列ごとに同じ検定を繰り返すプログラム

某所に掲載されていたプログラム 以下のようにするとコンパクト KrusRep <- function(dat) { x <- ncol(dat) mat <- matrix(sapply(dat[, -x], function(z) kruskal.test(z ~ dat[, x])$statistic), ncol=1) dimnames(mat) <- list(colnames(dat[, -x]), "ch…

確率の問題をシミュレーションで解く

斎藤さんには二人の子供がいる。日曜日生まれの女の子はいるかと聞くと、いると言う。 では、もう一人も女の子である確率は? 分かりやすくするために,冗長に書く n = 100000000d = data.frame(mf1=sample(2, n, replace=TRUE), mf2=sample(2, n, replace=T…

とある弁当屋の...

石田基弘著「とある弁当屋の統計技師-データ分析のはじめかた」共立出版 読んでみました。 出版社の校正係,もっとしっかり仕事しなさい ii ページコンピューター → 普通は,「コンピュータ」一日キーボードを叩きながら → 一日中キーボードを叩きながら「ハ…

ダメ出し:統計学の問題を作るのも難しいもので...

CodeIQで「『データサイエンティスト養成読本』著者陣さんの問題」やってみたけど…http://m884.hateblo.jp/entry/2013/09/19/171218 なんですけどね。どっちもどっち??? 問題文は孫引き(大元の記事は参照できなくなっている)だが,問1. Rに標準装備され…

あなたは,この表明に,賛成ですか,反対ですか?

「はだしのゲン」の発端は,京都市在住の(なんで京都なの?)「一人の」請求が発端だったとか。 一方,「カネボウ化粧品の白斑問題の発端は●●年だったとか。 原因(発端)から求められるものが正反対。 日本全国のたった一人の意見で,それに対応するかしな…

データが足りない!

非常に深刻な状況なので,安易な論評は避けたいが, 「地下水のトリチウム濃度急上昇 漏えいタンク付近,汚染拡大か」だけどねえ 端的に言えば,データが乏しい。3時点でのデータからは,今までと今後についても,どのようjになるかは分かりかねる。 なぜこ…

ちょっと,知事さん,冷静になりましょ!

「学テ成績最下位の小学校長名公表を 静岡県知事,国語A最下位で」なんだけど, > 川勝知事は理由を「子どもに責任はないということを明確にするため」と説明。「最低というのは教師の授業が最低ということ。教師は大人なので責任を持ってもらい、反省材料に…

シミュレーションをするときの,よって立つ基準の選択

「分散の推定」にて,ねぇぇ... シミュレーションで何か示しましょう,ということなら,立派なプログラム書かなきゃねえ m ← pis2 ← exp(1)n ← 20n.trial ← 10000X ← matrix(rnorm(n*n.trial), n)sample.mean ← colMeans(X)sample.ub.var ← apply(X, 2, var)…

基礎をしっかり

「単純な集計とデータサイエンスによる分析とで結果が食い違うかもしれない3ケース」なんだけど... 結論は別によいのだけど,基礎が危ういなあと思うので一言。 筆者は,世の中には、単純な四則演算での集計結果と、データサイエンスを駆使した分析結果とで…

答えをもらう前に締め切るあわてんぼう

「統計ソフトRに距離行列の読み込み」なんだけどね...統計ソフトRに距離行列を読み込む方法をご存知の方はいらっしゃらないでしょうか.例えば,次のような距離行列をRに読み込みたいとします. A B CB 1C 1 1D 1 1 1これを通常の行列のよう…

もっとがんばりましょう:定義通りの計算も善し悪し

「回帰分析」pdf ファイルなんだけど... SPSS では,偏回帰係数と標準偏回帰係数(β)は同時に計算されますが,R では,それ ぞれ別に計算します。データそのままを利用して計算すると,偏回帰係数が計算されます。標準偏回帰係数が欲しい場合には,…

この件は余りがんばらなくてもいいです

「t 検定(対応のない場合)」pdf ファイルだけど... 以前にも,「for で処理すると,処理対象の変数名が出ないのがイヤだ」というのに対して,mapply などというつまらないものを勧めたのだけど,今回は,もっとつまらないものを紹介してみよう。 > まとめ…

ダメ出し:使うべき関数を使おう

「尺度作成(α係数など)」pdf ファイルなんだけど... まあ,うっかりということではあるのだろうけど, > なお,合計を項目数で割ったものを合計得点にしたければ...> to.f1 ← rowSums(x[,l.f1]) / 8> などとしておけばよいです。 当然のことでは…

もっとがんばりましょう:3次元因子空間の描画

「因子分析(2)」pdf ファイルなんだけど... ページの最後に,Mac の場合にのみということで,Grapher を使って3 因子を 3 次元空間に描く方法を紹介している。 この著者は,何でも R でやってみようという心意気がうすくて,Excel なんかもよく使うのだけ…

もう少しがんばりましょう:普通では表示されないんだけど---残差分析

「χ二乗検定」pdf ファイルなんだけど, > もし有意になれば,どのセルに偏りが認められるのかという残差分析を行いたい場合も出てくるでしょう。しかしchisq.testはそれをやってくれません。 実は,いつの頃よりか,やってくれるようになりました。 > (a <-…

もう少しがんばりましょう:apply 族を使い倒す

「項目のチェック(3)」pdf ファイルだけど。 > まあ,「これでもいいか...」くらいの出来です。問題は for を使うと次ページの結果のように変数名が表示されないこと。間違えないようにしないと... mapply を使うと,以下のようになります。layout(matrix(…

もう少しがんばりましょう:手作業は極力省く

「項目のチェック」pdf ファイルなんだけど > ところが,v ← c("no","性別"... などと一から入力するのは,変数が多くなるととても手間...なので,簡単に作る方法を考えます。> 先に,colnames(x)で変数名が出力されることを紹介しました。その際,変数名は"…