メディカルデータサイエンティスト

古典統計学とベイズ統計学の手法を検討していろいろな検定推定を健忘録を書いていきたいと思…

メディカルデータサイエンティスト

古典統計学とベイズ統計学の手法を検討していろいろな検定推定を健忘録を書いていきたいと思います。

マガジン

最近の記事

機械学習(ランダムフォレスト編)

必要なモジュールを読み込んでいきます import numpy as npimport pandas as pdimport matplotlib.pyplot as plt%matplotlib inlineimport seaborn as sns Sicket-Learnからパッケージを読み込んでいます from sklearn.model_selection import train_test_splitfrom sklearn.ensemble import

    • 機械学習(総集編caret編)

      今日はcaretパッケージの分類を使っていきます。 methodにサポートベクターマシン(svmRadial)、 ニューラルネットワーク(nnet)、k近傍法(knn)、 単純ベイズ(nb)、ランダムフォレスト(rf)、 決定木(rpart)などを指定できる便利なパッケージです。 irisを読み込み、教師データと検証用に分割します data(iris)n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.test<-iris[-

      • 機械学習(単純ベイズ編)

        必要なモジュールを読み込んでいきます import numpy as npimport pandas as pdimport matplotlib.pyplot as plt%matplotlib inlineimport seaborn as sns Sicket-Learnからパッケージを読み込んでいます from sklearn.model_selection import train_test_splitfrom sklearn.naive_bayes imp

        • 機械学習(k近傍法編)

          パッケージの読み込み library(kernlab)library(class) データセットにirisを取り込み、教師データと検証用データに分割します data(iris)n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.test<-iris[-n,]set.seed(1) k近傍法のモデルを構築します knn.result<-knn(iris.train[,-5],iris.test[,-5],iris.tra

        マガジン

        • 機械学習(Python編)
          2本
        • 機械学習(R言語編)
          8本
        • 統計解析
          10本

        記事

          機械学習(準備編)

          irisのデータを利用していろいろ勉強していきます。 irisのデータを確認して、図示して相関を予想します。 GGallyで図示していきます。 まずデータを読み込んで、確認します。 data(iris)head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2

          機械学習(サポートベクターマシン編)

          パッケージの読み込みます library(e1071)library(kernlab) データirisの読み込み、データを教師データと評価データの2つに分割します data(iris)n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.test<-iris[-n,]set.seed(1) サポートベクターマシーンの構成します svm.model<-svm(Species~.,type="C-classification

          機械学習(サポートベクターマシン編)

          機械学習(ランダムフォレスト編)

          パッケージの読み込み library(randomForest) irisを読み込んで、学習用と検証用に分割します data(iris)n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.test<-iris[-n,]set.seed(1) ランダムフォレストで分類モデルを作成します rf.model<-randomForest(Species~.,data=iris.train) ランダムフォレストで作成した分類モ

          機械学習(ランダムフォレスト編)

          機械学習(決定木編)

          パッケージの読み込みます library(rpart)library(rpart.plot) irisのデータを読み込んで、学習用と検証用に分割します data(iris)n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.test<-iris[-n,]set.seed(1) CARTで分類モデルを作成します cart.model<-rpart(Species~.,data=iris.train) CARTで作成した

          機械学習(ニューラルネットワーク編)

          ニューラルネットワークモデルで解析 3層パーセプトロンの構築していきます パッケージの読み込みます library(e1071)library(kernlab)library(nnet) データセットにirisを取り込みます data(iris) データを教師データと解析用に分割します n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.test<-iris[-n,] ニューラルネットワークモデルを構築します we

          機械学習(ニューラルネットワーク編)

          機械学習(単純ベイズ編)

          R言語での単純ベイズモデルでの機械学習 irisのデータを用いて分類の問題を復習します。 まずパッケージの読み込みです library(e1071)library(kernlab) irisデータの読み込みます data(iris) 教師データと評価データに分けます(半分づつ) n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.test<-iris[-n,] 単純ベイズで分類モデルを作成します nb.model<

          生存時間曲線つづき

          同じデータでマルコフ連鎖モンテカルロ法MCMCで サンプリング数を増やしてベイス推定してみました。 model = " data { int<lower=1> N; int<lower=1> T; int<lower=1, upper=T> Time[N]; int<lower=0, upper=1> Cens[N]; } parameters { real<lower=0> sigma_log_hazard; vector<upper=0>[T] log_hazard;

          生存時間曲線

          ポビドンヨードが話題になっていたので、 生存時間曲線で表現するにはと復習してみた。 まず、公開されているデータからは イソジンうがい群25例、対照群16例で、 最終日に脱落がそれぞれ4例と1例です。 適当な表を作成して、ID、treat(うがい有"1"、無”0”) 陰性化するまでの日数をdays(1-4)として図示します。 fit.surve=survfit(Surv(days, response) ~ treat, data = treat1)summary(fit.s

          2群間の時系列データの解析

          友人に2群間の時系列データの解析、検定を尋ねられたので 改めて勉強してみたので、健忘録として。 まず、練習用のデータを作成していきます。 症例は30例ずつの2群で、計測は3時点、処置の有無で層別化します。 id = c(1:60)result0 = rnorm(30,40,10)result1 = rnorm(30,25,7)result2 = rnorm(30,20,5)result3 = rnorm(30,41,9)result4 = rnorm(30,23,6)re

          2群間の時系列データの解析

          分散分析の悩みどころ

          引き続いて分散分析です。 前回はbrmsパッケージで交互作用ありで解析しましたが、交互作用なしで検討する考えもあります。多重共線性を排除するためです。他に今回は当てはまりませんが、中心化したり、標準化することもあります。ToothGrowthは因子×因子なので中心化も標準化も意味がなさそうです。 交互作用なしで解析すると、OJ1mgと2mgで有意差が出てしまいます。おそらく不適切な解析と考えます。

          brmsパッケージで共分散分析をベイズ推定してみた。

          library(brms)library(rstan) 用量doseを因子型に変換します。 data=ToothGrowthdata=transform(data,dose=as.factor(dose)) ベイズの線形回帰パッケージbrmsを使用します。 交互作用を考えるモデルを組みます。 brms.fit=brm(formula= len ~ supp*dose,family=gaussian(),data=data) Population-Level Effe

          brmsパッケージで共分散分析をベイズ推定してみた。

          共分散分析を重回帰解析で

          また同じToothGrowthのデータで考えていきます。 今回は2元配置分散分析を線形回帰(重回帰解析)で検討していきます。 まず、doseは数値型のままです。 lm.fit=lm(len ~ supp * dose , data=ToothGrowth)summary(lm.fit) Call: lm(formula = len ~ supp * dose) Residuals: Min 1Q Median 3Q Max -8.22643 -2.84625 0.0503

          共分散分析を重回帰解析で