医療職からデータサイエンティストへ

統計学、機械学習に関する記事をまとめています。

R

AICとは?その正体に迫る

複数のモデル候補があった場合、AIC(赤池情報量基準)を使ってモデル選択をすることがあります。しかし、このAICをなんとなく使ってしまっている人、そのモデル本当に目的としたモデルですか? 今回は、AICについてその直感的な理解とAICの意味を追っていき…

R使いのための文字列処理stringrの使い方

Rで文字列処理をすることって地味によくありますよね。 そんな突如として必要性が湧いてくる文字列処理、Rには文字列を扱うパッケージがいくつかありますが、その中でも抜群に使いやすいのが{stringr}の特徴です。 文字列処理を統一的な方法で行えるため、直…

マルチレベル分析の基礎〜結果の解釈と応用編〜

前回は、テストの点数と勉強時間との関連を学校レベルと個人レベルに分けて解析するマルチレベル分析の基礎をまとめました。 今回は、より現実の背景を反映させてさらに解釈の幅を広げていきます! Rを実践する場合は前回のデータセットをそのまま使うので、…

以外に奥深いR,Pythonでの相関行列の計算方法

RやPythonで変数間の相関を見るために、何気なく使う相関行列 実はとても奥深いことを知りました。 今回はRとPythonの算出方法の違いについても触れていきます。(pythonを使ったのはいつぶりだろうか...) データセットの作成 まずはデータセットを作成しま…

マルチレベル分析の基礎〜予測だけでは不満なあなたへ〜

最近はAIを使った予測が流行っていますが、予測よりも現象を解釈したい場合もあるかと思います。 行った施策に対しての効果を分析したり、事象が起こった後に要因を解釈したり... そんな時に使うのがマルチレベル分析です。現実の仮定を反映しやすく、様々な…

日付・時刻処理の決定版!lubridateの使い方

Rで時系列データなどを集計、処理したい場合どうしてますか? Rの基本パッケージにも時系列データを扱うための関数は用意されています。 しかし、これがまたわかりにくい.... POSIXctだの、POSIXltだの、私はなんども調べては忘れ、また調べ、また忘れを繰り…

モダンな繰り返し処理purrrの使い方

データの繰り返し処理やapply族を使ったデータフレームの処理などはデータ解析をする上では欠かせませんよね。 そんな時に役に立つのが{purrr}パッケージです。このパッケージは、今までfor-loopさせていた処理や、apply族を使っていた処理をスマートに処理…

階層ベイズモデルを使ったデータ解析の実践~より複雑なモデルへ~

前回は階層性のあるデータに対して、線形混合モデルと階層ベイズを用いて解析を行いました。 medi-data.hatenablog.com 今回は、より複雑な階層ベイズモデルに挑戦していきます。前回は扱わなった、新たなデータに対しての予測も行っていきましょう。 今回の…

線形混合モデルと階層ベイズモデルを使ったデータ解析の実践

前回はベイズ推定を使って単回帰分析を行いました。今回はさらにレベルを上げて階層性のあるデータ解析に挑戦していきます。 medi-data.hatenablog.com www.medi-08-data-06.work 階層性のあるデータの概略から、通常の単回帰、線型混合モデルそして、階層ベ…

もっと早く知りたかった高速データフレーム処理~dplyrの使い方~

Rで扱うことの多いデータフレームですが、みなさんはどのように処理をしているでしょうか? 私は既存の{base}パッケージで処理を行なっていましたが、{dplyr}パッケージを知ってからというもの手放せなくなりました。 この{dplyr}を使うと驚くほど簡単に、そ…

ベイズ推定で単回帰分析~概略から実践まで~

今回は、Rのstanを使ってベイズ推定を使った単回帰分析を行なっていきます。 本来であればベイズ推定を使わなくても単回帰分析のパラメーターは推定できるのですが、stanに慣れるためにもまずは簡単なところからですね。 最後には通常の単回帰分析と結果の比…

脱統計初学者!確率分布まとめ~正規分布・t分布とは~

前回の続きで、今回は主に連続型確率分布である正規分布、t分布を扱っていきます。ここまで理解できれば、統計が楽しくなるはずです!正規分布からt分布の導出までを出来るだけ式を使わずにまとめていきます! 正規分布 z値 t分布 まとめ 正規分布 Z値 t分布…

有意水準と検出力をグラフィカルにシミュレーションで理解する

統計検定をする上でよく用いられるのは有意水準ですが、同時に検出力も考慮しなければなりません。 今回は有意水準と検出力についてまとめてみます。 有意水準、検出力とは? 第一種過誤(αエラー)、第二種過誤(βエラー)などとも呼ばれますが、簡単に言っ…

脱統計初学者!確率分布まとめ~ベルヌーイ分布・二項分布・ポワソン分布・指数分布~

確率分布は統計学を学び始めると必ず出てくるワードなんですが、初めて聞いたときは、なんじゃそりゃ〜〜って感じで全然理解できませんでした。 正直SPSSやSASS、EZRなどの統計ソフトは値を入れれば、それっぽい結果が返ってくるので、学ぶ必要性を感じない…

ベイズの定理で二項分布の推定~最尤法との比較まで~

前回は、Rにstanを導入して、実際に動かすところまで行いました。今回は、ベイズ推定で二項分布のパラメーターを求めてみます! medi-data.hatenablog.com 二項分布とは ベイズの定理を使う前に、さらっと二項分布を復習しておきます。 二項分布とは、確率で…

Rでstan使ってみる~導入編 for Mac~

新年になったということで、今年はRでstanを使ったベイズモデリングに挑戦していきたいと思います。 今回は導入編ということで、こちら RStan Getting Started · stan-dev/rstan Wiki · GitHub を参考にしながら進めていきます。ちなみに私のPCはMacですので…

カーネル密度推定~グラフィカルにまとめてみる~

前回はR関数を実行して、抽出されたサンプルから母集団の確率密度を推定しました。今回は、Rの関数を使わずにカーネル密度推定を行いたいと思います。 medi-data.hatenablog.com 出来るだけグラフィカルにまとめてみます。 ヒストグラム密度推定 カーネル密…

Rでカーネル密度推定

ヒストグラムから確率密度分布を知りたいと思い、調べているとカーネル密度推定なるものがあるようです。色々調べてみたのですが....よく分からん。 Rで実行しながら、学んでいきます。 今回のお題 今回は正規分布から発生させた50個の乱数を使って、正規分…

回帰直線の求め方~最尤法、最小二乗法、期待損失~

今回は回帰分析で用いられる回帰直線について、よく知られている最小二乗法、最尤法に加えて、最近学んだ期待損失なるものを使って、求めていきたいと思います! 今回のお題 今回は以下のようなデータセットを使って、回帰直線を求めていきます。 y1 <- roun…

動かしながら学ぶR~optim関数とoptimize関数~

R

今回はRで、ある関数を最大化、最小化する値を求めるoptim関数とotimize関数について、その違いや使い方について書いていきます。 optimize関数とoptim関数 この二つは、ある関数の中で値を最大化、最小化するパラメーターを求める時に利用します。簡単な例…

リンゴで理解する分類問題~生成モデル、識別モデル、識別関数って何ですか?~

今回は、分類問題を学んでいてどうやら大きく分けて三つのアプローチがあるらしいと言うことで、その特徴を具体例を混じえてまとめてみます。 分類問題とは? そもそも分類問題とは、例えば身長データから男女を分類するであったり、メールに書いてある単語…

リンゴで理解する 尤度 とは~離散確率から正規分布まで~

統計学を学んでいておそらくつまずくであろう尤度。こいつの正体をリンゴを使ってまとめていきます。 尤度とは? 尤度の何が難しいかと言うとまずはこの漢字。そもそも何と読むかと言うと"ゆうど"と読みます。”尤”なんて日常生活でまず使うことはありません…

多項式曲線フィッティング~パターン認識と機械学習~

パターン認識と機械学習の第1章多項式曲線フィッティングについてまとめます。 多項式曲線フィッティング 多項式曲線フィッティングは、目的変数にうまくフィットするような線形モデルを作成します。今回はsin関数を多項式フィッティングしていきます。 > x …

これは便利! R パイプ %>% の使い方

データフレームを扱う時にとても便利なのがパイプ! ggplotでしか使ったことがなかったけれど、調べてみるととても便利そうなので使い方をまとめます! medi-data.hatenablog.com パイプとは? パイプとは、途中経過を変数に代入せずそのまま次の処理へ渡せ…

R の パイプ でエラー ”関数 "%>%" を見つけることができませんでした ”Error: could not find function "%>%””

R

ggplot2でデータを可視化しようと試みると、パイプ演算子が使えずエラーに... 同じ悩みを抱えている方の助けになれば幸いです! Rの標準データセット"cars"の散布図をggplotで可視化しようとすると > cars %>% + ggplot(aes(x = speed , y = dsit) )+ + geom…

R の 確率密度関数 ( rnorm, pnorm, qnorm, dnorm ) とは何なのか

R

統計学を学んでいてRでシミュレーションをしたくなったある日のこと、確率密度関数の使い方がよく分からず困った.... 今回は、確率密度関数の使い方を正規分布を例にまとめてみます!! 正規分布の確率密度 Rの確率密度関数を調べてみると、 rnorm dnorm pnorm…