環境化学データ解析入門: 愛媛大講演資料 160728

80
環境化学のデータ解析 Twi$er: @siero5335 @Ehime_Univ. 20160728

Upload: akifumi-eguchi

Post on 08-Jan-2017

2.792 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: 環境化学データ解析入門: 愛媛大講演資料 160728

環境化学のデータ解析

Twi$er:@siero5335@Ehime_Univ.20160728

Page 2: 環境化学データ解析入門: 愛媛大講演資料 160728

注意

それなりにデータ解析について勉強はしましたが、独学の上、解析の専門家ではないので背景、理論などには間違いがある可能性があります。使うときには鵜呑みにせず、自分でもある程度調べるようにしてください。

Page 3: 環境化学データ解析入門: 愛媛大講演資料 160728

目次

環境化学分野における多変量データ解析の必要性

R,Rstudio,EZRの紹介

データ読み込み,編集:Rstudio

データ集計:summary

データの可視化:ggplot2,Plotly

検定:Welch’st検定,Brunner-Munzel検定

統計モデル:一般化線形モデル glm

機械学習:主成分分析,caret

解析再現性,レポーティング:RMarkdown

Page 4: 環境化学データ解析入門: 愛媛大講演資料 160728

背景

社会におけるデータ解析の重要性が上昇(ビッグデータ等)

意思決定の場における客観的な指標や、正確な将来予測に基づいた行動を取らないと、解析結果を運用している組織と戦えないちかごろでは大きいデータを持っている会社(検索、広告、ソーシャルゲーム等)が活発に人材を収集化学分析・機器メーカーなども少しづつ解析ができる人が必要だと考えている空気を感じる

Page 5: 環境化学データ解析入門: 愛媛大講演資料 160728
Page 6: 環境化学データ解析入門: 愛媛大講演資料 160728

環境化学分野における多変量データ解析の必要性

環境化学は総合的な学問→色々なデータが得られる(濃度,毒性,時間,場所...)

濃度1つをとっても多用な化学物質、異性体を対象にするため、データ量が増大

採取地域、個体情報、アウトカム、物性などが組み合わさることで解析が複雑化

どこから手を付けたら良いのかよくわからない

謎の卒業生に謎のツッコミを受けるがよくわからない

Page 7: 環境化学データ解析入門: 愛媛大講演資料 160728

環境化学分野における多変量データ解析の必要性

 いきなり色々やるのは無理! ただでさえ測定やゼミで大変なのに厳しい

ある程度手順を作ればむしろ楽になるかも?

Page 8: 環境化学データ解析入門: 愛媛大講演資料 160728

実験で忙しい学生のための環境化学のデータ解析

Page 9: 環境化学データ解析入門: 愛媛大講演資料 160728

Rを使う

ご存知R, 新版はver3.3.1バージョンが古すぎると動かないパッケージがあったりするので、気がついたらたまに更新したほうが良い。

ここからダウンロード

h$ps://cran.r-project.org/

ベースになるプログラムなのでこれがないとこの後で紹介するものも動いていくれない(EZRは動く?)

Page 10: 環境化学データ解析入門: 愛媛大講演資料 160728

RstudioからRを使う

生のRはわりとそっけないRエディタを使えばコンソールに直打ちしなくて済むし、解析結果も保存しておけるけどもうちょっと便利に使いたい

h$ps://www.rstudio.com/products/rstudio/

ここからダウンロード

Page 11: 環境化学データ解析入門: 愛媛大講演資料 160728

RstudioからRを使う

さらに移動

OSに合ったバージョンをダウンロード

Page 12: 環境化学データ解析入門: 愛媛大講演資料 160728

どう変わる?

・現在使用しているデータやパッケージの管理が容易

・作ったグラフのコピペが簡単

・コード補完が強力なのでミスタイプが減る

・作業記録を残しやすいので再現性が上がる

Page 13: 環境化学データ解析入門: 愛媛大講演資料 160728

どう変わる?

・現在使用しているデータやパッケージの管理が容易

・作ったグラフのコピペが簡単

・コード補完が強力なのでミスタイプが減る

・作業記録を残しやすいので再現性が上がる

コマンド覚えるのは辛い場合は?

Page 14: 環境化学データ解析入門: 愛媛大講演資料 160728

マウスで解析したい人のためのEZR

h$p://www.jichi.ac.jp/saitama-sct/SaitamaHP.files/statmed.html

Page 15: 環境化学データ解析入門: 愛媛大講演資料 160728

マウスで解析したい人のためのEZR

h$p://www.jichi.ac.jp/saitama-sct/SaitamaHP.files/statmed.html

これらを使えばある程度の解析ができる環境は整う

Page 16: 環境化学データ解析入門: 愛媛大講演資料 160728

今回はRstudioをベースに解説(マウス操作のEZRであれば見たらなんとなくわかると信じて)

マウスで解析したい人のためのEZR

h$p://www.jichi.ac.jp/saitama-sct/SaitamaHP.files/statmed.html

Page 17: 環境化学データ解析入門: 愛媛大講演資料 160728

データの読み込み

CSV,エクセルファイルいずれも読み込み可能(Preview版:h3ps://www.rstudio.com/products/rstudio/download/preview/)

CSVファイルの読み込みが可能

Page 18: 環境化学データ解析入門: 愛媛大講演資料 160728

道具は手に入ったけど何からすべき?

初手検定、統計モデリング、機械学習や!

Page 19: 環境化学データ解析入門: 愛媛大講演資料 160728

道具は手に入ったけど何からすべき?

初手検定、統計モデリング、機械学習や!

データの分布・正規性は確認した?なぜその因子を組み込んだ/組み込んでいないの?

欠損値・外れ値の影響はどう?そもそもデータ解析で何を明らかにしたいの?

Page 20: 環境化学データ解析入門: 愛媛大講演資料 160728

道具は手に入ったけど何からすべき?

初手検定、統計モデリング、機械学習や!

データの分布・正規性は確認した?なぜその因子を組み込んだ/組み込んでいないの?

欠損値・外れ値の影響はどう?そもそもデータ解析で何を明らかにしたいの?

目的をまず設定する必要がある初めに集計・可視化してデータの特徴を見るべき

Page 21: 環境化学データ解析入門: 愛媛大講演資料 160728

集計:summary()関数

summary()関数:()の中にデータセットの名前を入れて使う

今回のために作成したテストデータは下記にup済み一部省略していることもありますがコード見ながら再現してもらえると幸いです。

h$ps://github.com/siero5335/test_data_PCB/blob/master/testdata.csv

Page 22: 環境化学データ解析入門: 愛媛大講演資料 160728

集計:summary()関数

summary()関数:()の中にデータセットの名前を入れて使う

初に取り込んだ時には要素(factor)で入っていて欲しいデータが文字(character)で読み込まれているので下記コードでfactorにする

Page 23: 環境化学データ解析入門: 愛媛大講演資料 160728

集計:summary()関数

summary()関数:()の中にデータセットの名前を入れて使う

データセット名$要素名で各要素にアクセス可能

Page 24: 環境化学データ解析入門: 愛媛大講演資料 160728

集計:summary()関数

summary()関数:()の中にデータセットの名前を入れて使う

データセット名$要素名で各要素にアクセス可能

素早くTable用のデータを作ることができる

Page 25: 環境化学データ解析入門: 愛媛大講演資料 160728

可視化:ggplot2package

層になるデータを加えると図が更新

ggplot(データ名,aes(要素1,要素2))+geom_point()で散布図が書ける

Page 26: 環境化学データ解析入門: 愛媛大講演資料 160728

可視化:ggplot2package

思いつきで追加するのも簡単さっきの図に+で加えるだけ

Page 27: 環境化学データ解析入門: 愛媛大講演資料 160728

可視化:ggplot2package,散布図のメリット

外れ値・入力ミスの発見などにも向くので気になる要素についてはどんどん作図する→作図から仮説が得られることも今回の場合は身長、体重が入れ替わっているそうでない部分では相関がありそうに見える一般的に男性の方が身長、体重高め

Page 28: 環境化学データ解析入門: 愛媛大講演資料 160728

可視化:ggplot2package,ヒストグラム

データの分布を可視化するならヒストグラム層化も可能

Page 29: 環境化学データ解析入門: 愛媛大講演資料 160728

可視化:corrplotpackage

相関解析の結果をまとめて確認したいという需要は多い

相関、相関係数を一気に表記

data_cor<-testdata[,-c(1,3,7:9)]#数値の列だけ抜き出す

M<-cor(data_cor,method='spearman',use='pairwise.complete.obs')#methodの変更可能

corrplot.mixed(M,order='hclust')#近いクラスタを近くに

散布図行列を書くには:h$p://statmodeling.hatenablog.com/entry/sca$er-plot-matrix

Page 30: 環境化学データ解析入門: 愛媛大講演資料 160728

正規性の検定

コルモゴロフ・スミルノフ検定:Kolmogorov-Smirnovtestks.test(データ名,"pnorm",mean=mean(データ名),sd=sd(データ名))シャピロ・ウィルク検定shapiro.test(データ名)どっちじゃないとだめと言われることはあんまりない。コルモゴロフ・スミルノフ検定の場合、“pnorm”部分をppoisやpunifに変えるとポアソン分布や一様分布に変えて検定可

データセット名$要素名

Page 31: 環境化学データ解析入門: 愛媛大講演資料 160728

正規性の検定

コルモゴロフ・スミルノフ検定:Kolmogorov-Smirnovtestks.test(データ名,"pnorm",mean=mean(データ名),sd=sd(データ名))シャピロ・ウィルク検定shapiro.test(データ名)サンプルサイズが大きい場合はシャピロ・ウィルク検定では違いがあまり出ず、逆の場合はコルモゴロフ・スミノルフ検定では違いが出ないという感じ。

データセット名$要素名

StatsBeginner:初学者の統計学習ノート:正規性の検定の違いh$p://statsbeginner.hatenablog.com/entry/2014/08/13/115744

Page 32: 環境化学データ解析入門: 愛媛大講演資料 160728

手法 正規性 等分散性 関数 Package

Student’s t 要 要t.test(group1, group2,

var.equal=T) 不要

Welch’s t 要 不要 t.test(group1, group2,

var.equal=F) 不要

Mann-Whitney 不要 要 wilcox.test(group1, group2) 不要

Brunner-Munzel 不要 不要 brunner.munzel.test(x,y) library(lawstat)

検定:Welch’st検定,Brunner-Munzel検定

ほくそ笑む:マイナーだけど 強の統計的検定 Brunner-Munzel検定:h$p://d.hatena.ne.jp/hoxo_m/20150217/p1Brunner-Munzel検定:h$p://oku.edu.mie-u.ac.jp/~okumura/stat/brunner-munzel.html

正規性のある場合の検定だとStudent’s t 検定, ない時だとMann-Whitneyがしょっちゅう使われるが、等分散性が必要なことはあまり知られてない。

Welch’s t検定,Brunner-Munzel検定はあまり有名ではないが強力な手法。使ってみてもいいかも?

理論の詳細は上記ブログに詳細。

Page 33: 環境化学データ解析入門: 愛媛大講演資料 160728

統計モデル:一般化線形モデル glm

相関と回帰は別のもの

相関:2つの変数のバラつきを見るスピアマン:cor(x,y,method="spearman")ピアソン:cor.test(x,y,method="pearson")

単回帰:一つの変数xの値からyの値を予測glm(Y~X1,data=データ名,family=分布の名前(リンク関数))

重回帰:複数の変数xの値からyの値を予測glm(Y~X1+X2...,data=データ名,family=分布の名前(リンク関数))とくにこれらを一般化線形モデルと呼ぶ

データ中の要素名

Page 34: 環境化学データ解析入門: 愛媛大講演資料 160728

統計モデル:一般化線形モデル glm

単回帰:一つの変数xの値からyの値を予測glm(Y~X1,data=データ名,family=分布の名前(リンク関数))

重回帰:複数の変数xの値からyの値を予測glm(Y~X1+X2...,data=データ名,family=分布の名前(リンク関数))統計モデリング:予測が目的ではあるが、従属変数が予測にどのように関わっているのかというプロセスを解析するためにも使われる

データ中の要素名

Page 35: 環境化学データ解析入門: 愛媛大講演資料 160728

統計モデル:一般化線形モデル glm

単回帰:一つの変数xの値からyの値を予測glm(Y~X1,data=データ名,family=分布の名前(リンク関数))

重回帰:複数の変数xの値からyの値を予測glm(Y~X1+X2...,data=データ名,family=分布の名前(リンク関数))なぜlmではなくglmなのか正規性の確認でも見たように必ずしも目的変数が正規分布に従うとは限らない

一般化線形モデルであれば正規分布に従わない目的変数であっても、ある程度近似が可能になるためあてはまりがよくなる

データ中の要素名

Page 36: 環境化学データ解析入門: 愛媛大講演資料 160728

統計モデル:一般化線形モデル glm

久保拓弥:講義のーと :データ解析のための統計モデリングh3p://eprints.lib.hokudai.ac.jp/dspace/bitstream/2115/49477/4/kubostat2008c.pdf

目的変数(応答変数)の分布について気を使う

Page 37: 環境化学データ解析入門: 愛媛大講演資料 160728

統計モデル:より発展的なモデリング

h3p://mc-stan.org/interfaces/rstan

ベイズモデルに入門するならRstanが熱い

Page 38: 環境化学データ解析入門: 愛媛大講演資料 160728

統計モデル:より発展的なモデリング

h$p://www.slideshare.net/berobero11/glmglmm-36809949

Page 39: 環境化学データ解析入門: 愛媛大講演資料 160728

統計モデル:より発展的なモデリング

マニュアル日本語翻訳プロジェクト進行中

h3ps://github.com/stan-ja/stan-ja

Page 40: 環境化学データ解析入門: 愛媛大講演資料 160728

 機械学習 (Machine Learning)

データ解析における研究課題の一つで、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法

Page 41: 環境化学データ解析入門: 愛媛大講演資料 160728

データ解析における研究課題の一つで、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法ある程度の数のサンプルデータ集合を対象に解析を行い、そのデータから有用な規則、ルール、知識表現、判断基準などを抽出する。なおデータ集合を解析するので統計学との関連が深い。

 機械学習 (Machine Learning)

Page 42: 環境化学データ解析入門: 愛媛大講演資料 160728

データ解析における研究課題の一つで、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法ある程度の数のサンプルデータ集合を対象に解析を行い、そのデータから有用な規則、ルール、知識表現、判断基準などを抽出する。なおデータ集合を解析するので統計学との関連が深い。例えば ?回帰分析・主成分分析・クラスター分析・ベイズ...

 機械学習 (Machine Learning)

Page 43: 環境化学データ解析入門: 愛媛大講演資料 160728

 教師あり・なし学習

教師なし学習出力したいものが 初から決まっていない主成分分析教師あり学習事前情報(教師の助言)にあわせてデータをフィッティングする回帰分析

Page 44: 環境化学データ解析入門: 愛媛大講演資料 160728

主成分分析(Principle component analysis, PCA)

次元を縮小・データを可視化するための手法

Page 45: 環境化学データ解析入門: 愛媛大講演資料 160728

主成分分析(Principle component analysis, PCA)

次元を縮小・データを可視化するための手法

Page 46: 環境化学データ解析入門: 愛媛大講演資料 160728

主成分分析(Principle component analysis, PCA)

次元を縮小・データを可視化するための手法

形・色・重さ・模様・材質など様々な情報(次元)をもつ

Page 47: 環境化学データ解析入門: 愛媛大講演資料 160728

主成分分析(Principle component analysis, PCA)

次元を縮小・データを可視化するための手法

形・色・重さ・模様・材質など様々な情報(次元)をもつ影を見れば他の要素が消えて形だけの情報が残る

Page 48: 環境化学データ解析入門: 愛媛大講演資料 160728

主成分分析(Principle component analysis, PCA)

次元を縮小・データを可視化するための手法

Page 49: 環境化学データ解析入門: 愛媛大講演資料 160728

主成分分析(Principle component analysis, PCA)

次元を縮小・データを可視化するための手法

影しか見えないので何の影なのかは自分で考えないといけない

Page 50: 環境化学データ解析入門: 愛媛大講演資料 160728

主成分分析(Principle component analysis, PCA)

主成分分析の際には各変数の標準化が重要になる標準化しない場合だと数値が大きく分散の絶対値が大きい因子の

寄与が大きくなってしまう

Page 51: 環境化学データ解析入門: 愛媛大講演資料 160728

主成分分析(Principle component analysis, PCA)

標準化なし

標準化あり

summaryの結果

Page 52: 環境化学データ解析入門: 愛媛大講演資料 160728

主成分分析(Principle component analysis, PCA)

標準化なし

標準化あり

上記黄色部分が各種成分の寄与率を表す標準化あり、なしで結果が大きく変わっている

summaryの結果

Page 53: 環境化学データ解析入門: 愛媛大講演資料 160728

主成分分析(Principle component analysis, PCA)

標準化なし

標準化あり

上記黄色部分が各種成分の寄与率を表す標準化あり、なしで結果が大きく変わっている

→図でも確認する

summaryの結果

Page 54: 環境化学データ解析入門: 愛媛大講演資料 160728

主成分分析(Principle component analysis, PCA)

(98.2%)

(1.04%

)

(47.2%)

(15.7%

)

標準化の有無でPlotの様子だけではなく、寄与する因子のパターンも大きく異る

なしではPCB総濃度や濃度の高いPCB異性体しか目立たないがありでは第2主成分に身長, 体重, BMIが寄与していることが分かる

Page 55: 環境化学データ解析入門: 愛媛大講演資料 160728

その他機械学習:caretpackage重回帰分析 (MLR)

部分 小二乗法 (PLS)→次元縮約により潜在変数を作成

Elastic net (Enet)→正則化により不要なパラメータを削減

Support vector regression (SVR)→非線形に対応: カーネル法(高次元に射影)

Gradient boosting Decision Tree (GBDT)→非線形に対応: 多重更新重み付け決定木

線形回帰とその応用

Page 56: 環境化学データ解析入門: 愛媛大講演資料 160728

重回帰分析 (MLR)

部分 小二乗法 (PLS)→次元縮約により潜在変数を作成

Elastic net (Enet)→正則化により不要なパラメータを削減

Support vector regression (SVR)→非線形に対応: カーネル法(高次元に射影)

Gradient boosting Decision Tree (GBDT)→非線形に対応: 多重更新重み付け決定木

目的変数を予測するのが目的統計モデリングとの違いは?

線形回帰とその応用

その他機械学習:caretpackage

Page 57: 環境化学データ解析入門: 愛媛大講演資料 160728

重回帰分析 (MLR)

部分 小二乗法 (PLS)→次元縮約により潜在変数を作成

Elastic net (Enet)→正則化により不要なパラメータを削減

Support vector regression (SVR)→非線形に対応: カーネル法(高次元に射影)

Gradient boosting Decision Tree (GBDT)→非線形に対応: 多重更新重み付け決定木

従属変数の寄与よりも予測の良さを良しとすることが多い

線形回帰とその応用

その他機械学習:caretpackage

Page 58: 環境化学データ解析入門: 愛媛大講演資料 160728

重回帰分析 (MLR)

部分 小二乗法 (PLS)→次元縮約により潜在変数を作成

Elastic net (Enet)→正則化により不要なパラメータを削減

Support vector regression (SVR)→非線形に対応: カーネル法(高次元に射影)

Gradient boosting Decision Tree (GBDT)→非線形に対応: 多重更新重み付け決定木

GCのリテンションタイム予測, 結合能・活性の予測等

線形回帰とその応用

その他機械学習:caretpackage

Page 59: 環境化学データ解析入門: 愛媛大講演資料 160728

機械学習:caretpackage

データサイエンティスト養成読本R活用編 P45参照

データ全体を訓練データと検証データに分割して検証することで、未知データに対応可能か確認

データ

訓練データ

検証データ

モデル構築

モデル検証

予測モデル

Cross validationで訓練モデルの 適化

Page 60: 環境化学データ解析入門: 愛媛大講演資料 160728

機械学習:caretpackage

データサイエンティスト養成読本R活用編 P45参照

データ全体を訓練データと検証データに分割して検証することで、未知データに対応可能か確認

なんか難しいしめんどくさそう → 実際闇は深い

データ

訓練データ

検証データ

モデル構築

モデル検証

予測モデル

Cross validationで訓練モデルの 適化

Page 61: 環境化学データ解析入門: 愛媛大講演資料 160728

機械学習:caretpackage

データサイエンティスト養成読本R活用編 P45参照

データ

訓練データ

検証データ

モデル構築

モデル検証

予測モデル

Cross validationで訓練モデルの 適化

データ全体を訓練データと検証データに分割して検証することで、未知データに対応可能か確認

caret packageで多少改善?

Page 62: 環境化学データ解析入門: 愛媛大講演資料 160728

h3p://topepo.github.io/caret/index.htmlKuhnM(2008)Buildingpredic^vemodelsinRusingthecaretpackage.J

StatSo`w28:1–26

機械学習:caretpackage

さっきのフローを一括して行うためのpackage

Page 63: 環境化学データ解析入門: 愛媛大講演資料 160728

機械学習:caretpackage,データ分割

createDataParggon()関数

データの分割はランダムに行われるため、解析の再現性を重視するのであればset.seed()関数で乱数を固定しておくこと

この後の解析においても乱数が絡むものであれば乱数を固定することで再現性上がる

trainIndex<-createDataParggon(y,#目的変数,データセット$変数名で設定gmes=1,#何種類分割データを作るかp=0.5)#何対何で分割するか(0.5なら半分)Train<-データ名[trainIndex,]#分割データを入れるTest<-データ名[-trainIndex,]#分けて残ったデータを入れる

Page 64: 環境化学データ解析入門: 愛媛大講演資料 160728

機械学習:caretpackage,学習の設定

trainControl関数(とりあえずクロスバリデーションの設定のみ)example_train<-trainControl(method="repeatedcv",number=5,#5-foldの場合,1つ抜きならLOOCVと記述repeats=3,#分割の組をいくつ作るか,LOOCVなら不要allowParallel=TRUE)#マルチコア計算,早く計算が終る

後で説明するtrain関数内に上記条件を記述することも可能だが、条件を変えて色々試したいことも多いので別に記述して保存しておくのが吉

本当はもっと詳細な設定が可能、helpを参照のこと

Page 65: 環境化学データ解析入門: 愛媛大講演資料 160728

機械学習:caretpackage,チューニング設定

学習の際に色々設定しないと思ったほど性能が出ない

例えば?みんな大好きPLS->何次元目まで学習に使う?Randomforest->木の深さをどのくらいにするか

近流行りの深層学習->死ぬほど設定するパラメータがある(ある程度)効率良くパラメータを探索できるRandomforestなら下記

test_grid<-expand.grid(mtry=c(1:10))#木の深さを1~10の間で探すパラメータは手法ごとに違うのでcaretのHPで確認のこと

expand.grid関数(caretにかぎらず使用可)

Page 66: 環境化学データ解析入門: 愛媛大講演資料 160728

機械学習:caretpackage,学習

train関数

set.seed(71)Fit<-train(Class~.,data=training,method=”rf“,#randomforestのときtrControl=example_train,#trainControlで設定tuneGrid=test_grid)#expand.gridで設定上記を実行すると解析開始。誤差 小のmtryが入った結果をFitに入れてくれる(正確には違うが…)

methodの中身を入れ替えると色々なモデルが学習可能

Page 67: 環境化学データ解析入門: 愛媛大講演資料 160728

機械学習:caretpackage,予測

testPred<-predict(Fit,tesgng)新しいデータセットに対してさっき作ったモデルを当てはめ実測値等と比較し、当てはまりの良さを確認する。回帰分析ならcor(testPred,tesgng$outcome)など判別ならconfusionMatrix(testPred,tesgng$Class)など他にもいろいろな指標はあるがまずはここから

Page 68: 環境化学データ解析入門: 愛媛大講演資料 160728

解析再現性,レポーティング:RMarkdown

ここを選んで.Rmdファイルを作る

Page 69: 環境化学データ解析入門: 愛媛大講演資料 160728

解析再現性,レポーティング:RMarkdown

#は目次、見出し##のように増やすと章、節…みたいな感じで文章を区切ることができる```{r}```上記の括弧で囲んだ中身にRのコードを書く囲んだ外の部分には普通に日本語を記入してメモや考察を書くことも可能解析用の実験ノートとして使うと良い

Page 70: 環境化学データ解析入門: 愛媛大講演資料 160728

解析再現性,レポーティング:RMarkdown

ここを選ぶと.htmlファイルが出力される

Page 71: 環境化学データ解析入門: 愛媛大講演資料 160728

解析再現性,レポーティング:RMarkdown

出力されると右のような感じコードが灰色の、実行結果が白の枠の中に出力される{rpressure,echo=FALSE}でecho=FALSEとしておくと、コードが出力されなくなるデータ・乱数が固定されていれば変わらない結果がいつでも出力されるので、データ解析の再現性を確保できる

Page 72: 環境化学データ解析入門: 愛媛大講演資料 160728

Rの疑問に関する質問サイト

RおじさんがRの疑問に答えてくれる場h3p://qiita.com/uri/items/5583e91bb5301ed5a4ba

Page 73: 環境化学データ解析入門: 愛媛大講演資料 160728

Rの疑問に関する質問サイト

下記サイトにメアドを登録すればO.K。登録者は他の参加者のアドレスを見ることができるので気になるようなら捨てアドで良い

h3ps://r-wakalang.herokuapp.com

Page 74: 環境化学データ解析入門: 愛媛大講演資料 160728

機械の体を手に入れるのよ、 鉄郎!!!:h3p://www.slideshare.net/teramonagi/ss-52463319?qid=c38069a7-51e0-425a-9a3d-945412d41e2b&v=&b=&from_search=3

Rの疑問に関する質問サイト

Page 75: 環境化学データ解析入門: 愛媛大講演資料 160728

Rの疑問に関する質問サイト

Page 76: 環境化学データ解析入門: 愛媛大講演資料 160728

おすすめ本(読んだもの)

Page 77: 環境化学データ解析入門: 愛媛大講演資料 160728

もっと基礎から固めたいなら

線形代数と微積は簡単な本で良いので抑えておくと統計や機械学習の理論についての本を読む時にとても楽

(楽というか抑えてないと読めない)

Page 78: 環境化学データ解析入門: 愛媛大講演資料 160728

まとめ

Rstudioがおすすめ

まず集計、可視化していくところから始める

外れ値・誤入力などに注意

分布には気をつける

分布を気にし始めるとlm→glm→ベイズモデルになるかも

機械学習は予測第一,統計モデリングは従属変数の寄与も重視する

再現性・レポーティングにも気を使う

もっと色々な手法があるのでRで動かしてみると良い

Page 79: 環境化学データ解析入門: 愛媛大講演資料 160728

おわりに

環境化学は総合的な学問

愛媛大の環境であれば化学分析・毒性についてはみんな卒業時にはある程度の力量がついてくる

が、研究で生きていくなら本筋のテーマ以外にサブで個人的に突き詰めていくテーマがないと、“総合的”の部分に対応しにくくて苦しくなる可能性がある

今回は解析の話だったが、 bioinfo,動物実験,分析法開発など、サブの武器は自分で好きな分野を選べば良い

今日は実験しんどいけど解析ならやる気分になる、とかであれば気分の切り替えにもなるしいいかも?

Page 80: 環境化学データ解析入門: 愛媛大講演資料 160728

Enjoy!