データサイエンティスト上がりのDX参謀・起業家

データサイエンティスト上がりのDX参謀・起業家のブログ。データ分析や事業について。自身はアーティスト、経営者、事業家。

R program

時間依存性ROC曲線法

ある結果を予測するモデルの良さをチェックするときに有用なツールにROC曲線があります。主にロジスティック回帰モデルの性能をチェックするために使われますが、生存時間解析でも使われることがあります。ベースライン検査値と生存時間情報がある場合、ベー…

Rの関数の中身を知る方法

Rの関数がどういうプログラムで計算しているかを知るためには、単純に関数名をタイプすれば良い。それで見れない場合は、methods(関数名)とする。そうすると"関数名"."なんとか"って出力されるので、getS3method("関数名", "なんとか")とタイプすれば計算内…

調査のためのサンプリング(survey sampling)

調査を行うときは全数調査を行えば統計的な推測を行う必要はありませんが、どうしてもサンプリングして部分集団の解析で全体を推測したいという場合があります。例えば国や県単位の統計を出したいけど全数調査は無理だとか、データは全てあるけどPCのスペッ…

ggplot2で多次元プロット

だいたいのグラフは縦と横の2次元プロットで、多くても高さを含めた3次元プロットです。この場合の3次元プロットだと、GUIとかでグリグリ動かせないと結局2次元に潰れてしまうのでうまく情報を読み取れません。あくまでも平面上のグラフで多くの情報を詰め込…

ggplot2での軸の変更

ggplot2のscale_continuousオプションでいろいろ軸(axis)をいじれるようです。 y軸に3桁ずつコンマを入れる、x軸は%表記にする y軸を自然対数に、x軸を逆にする プログラムはこちら↓ #axis of ggplot2 library(ggplot2) (m 1000), na.rm = T)) m + scale_y…

生存時間解析

Rのsurvivalパッケージだけでいろいろな生存時間解析ができます。 カップランマイヤー(Kaplan-Meier)曲線を描く Cox回帰をする Log-Rank検定をする この3つが生存時間解析の主軸になりますが、それ以外にも次のようなものができます。 条件付ロジスティッ…

生存時間解析(時間依存性共変量など)

今日は生存時間解析です。時間依存性共変量のことを調べましたのでアップします。cox回帰をするときに、説明変数が時間と共に変化するというデータに適用できます。つまりベースライン共変量だけじゃなくて、イベントを起こすまでに測定した値も使いたいとい…

bnlearnの続き

Rでベイジアンネットの第二弾。bnlearnでは基本的に条件付回帰を行っているので、その回帰係数もbn.fit関数で出力できます。その回帰係数を、グラフに無理やり出力させるとこうなります。親ノードは説明変数がないので、単純に平均値になってます。これくら…

特定健診の健診結果を利用した健康分布

俗にメタボ健診と呼ばれますが、特定健康診査というものがあります。生活習慣病の予防事業の一環ですが、検査値をもとにして法定階層化を行い、心疾患系のリスク状況をレベル付けします。リスクレベルは、低い方から情報提供群・動機づけ支援群・積極的支援…

Rで地図を描く

Rでリスクマップなんかを作りたいとき、(頑張れば)地図を描くことができます。だけどRの地図関連は更新が激しくて、以前使えた関数が使えなくなることが多いです。RjpwikiにはここでRmapパッケージが紹介されていますが、今は使えません。なので去年の12月…

Rでマルコフ連鎖モンテカルロ法

RでMarkov chain Monte Carlo(MCMC、マルコフ連鎖モンテカルロ)を行うには大きく2つの方法があります。1つ目はパッケージR2WinBUGSを使って、Rの後ろでWinBugsを走らせる方法。もう1つはパッケージMCMCpackを使って直接R上で計算する方法。ちなみにMCMCの…

ベイジアンネットワーク

ベイジアンネットワークを推定する方法はいくつかあるけど、個人的に好きなのはPearl先生のICアルゴリズム(Inductive Causation algorithm)での方法。教科書はこちら。統計的因果推論 -モデル・推論・推測-作者: Judea Pearl,黒木学出版社/メーカー: 共立…

ベイジアンネットワークとクラスター手法間の距離

ここのブログの記事が面白かった。 library(deal):ベイジアンネットワーク library(clue):クラスター手法間の距離 クラスター手法間の距離の方は、SOMなどの手法にも拡張できそうですね。

初めてのR2(データハンドリング)

今回は初めてRで解析する時にほとんどの人が引っかかる、データの扱い方について説明します。今日は絵とかが無いんで殺風景です。。。Rのデータはスカラー、ベクトル、行列、アレイのどれかです。またそれらは数値、文字、リスト、因子などの属性を持ってい…

Rで描くROC曲線

Rの場合SASと違って一連の解析がひとまとめになっていないため、いろんなパッケージを探してやりたい事を見つけなければいけない。例えばロジスティック回帰を当てはめたときのROC曲線を確認したい時は、Epiライブライブラリなどを使う。ROCの曲線下面積、AU…

初めてのR1

私は新しいプログラム言語を学ぶとき、仕組みはさておいてとりあえず実行してみたい派です(最初は使い方がわかりませんものね)。そんな人のために、プログラムをコピペするだけで面白そうな結果が出るプログラムを書いていきたいと思います。Rはプログラム…

2値データリスクパターンを分岐木で表示

利用ライブラリ:library(party); library(Cairo) 主な関数 :ctree(function, data=Data), plot(Tree, type="simple, inner_panel=node_inner(Tree, pval=F, id=F), terminal_panel=node_terminal(Tree, id=F)); CairoPNG() 昨日のリスクパターンを分岐木で…

正規分布を綺麗な感じで描く

ggplot2を使って正規分布を綺麗に描いてみた。 正規分布の累積確率、たまに忘れそうになるんだよね。。。ggplot2のgeomリストはこちらです。http://had.co.nz/ggplot2/参考になる本はこちら(前にも紹介したけど)。ggplot2: Elegant Graphics for Data Anal…

ヒートマップ→クラスタリング→PRAT

ヒートマップは変数や観測値の関係を同時に可視化できる優れた方法。クラスタリングをして距離の近い(関連の強い)変数、観測値を並べ替えてくれるので直感的に把握しやすい。ヒートマップでデータを観たあと、クラスタリング・予測に繋いでいくこともでき…

PART (recursive partitioning and regression trees、再帰分割回帰木)

PARTは決定木の代表的な方法。閾値を決めて直線で分けていくので予測性能はSVM等の機械学習よりは良くないが、結果を解釈しやすいのが利点。機械学習を全体的に勉強したい場合はHastieの本がお勧め。The Elements of Statistical Learning: Data Mining, Inf…

ベイジアンネット

良くわからんがベイジアンネットをやってみる。 library(G1DBN) data(arth800line) S1 結果はこんな感じ↓ 自分に矢印がいくのはどういうときなんだろう?とりあえず使ってみたものの、使い勝手や解釈は他のパッケージの方が良いかも。

パッケージメモ:カーネル密度とロバストマハラノビス距離

library(np) #カーネル密度の推定 library(ICS) #ロバストマハラノビス距離 example(ics) example(covAxis) example(mvnorm.kur.test) #多変量正規分布の検定 example(screeplot.ics)

リスクとオッズ、リスク比とオッズ比の関係

オッズでリスクを近似することが良くあって、pが小さいときは近似が良いとよく言われる。実際はどんな感じになっているのか?またオッズ比とリスク比もどんな関係になるのか描いてみた。 #------リスクとオッズの関係 #---リスクとオッズ risk 結果はこんな…

Rグラフィックの勉強

グラフィックに定評のあるRなので、以下の本の勉強しました。Rグラフィックス ―Rで思いどおりのグラフを作図するために―作者: Paul Murrell,久保拓弥出版社/メーカー: 共立出版発売日: 2009/10/22メディア: 単行本購入: 3人 クリック: 100回この商品を含むブ…

Macで日本語を読み込むときの日本語設定

options(encoding="SJIS") #日本語を読み込むときのmacの設定 とりあえずこれを読み込ませると、csvに日本語が入っていても読める。でもmacでRを使うんだったらデータは全部英語の方が良いかも。