Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cox model in Azure ML

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Avatar for naoyaikeda naoyaikeda
January 01, 2014

Cox model in Azure ML

Avatar for naoyaikeda

naoyaikeda

January 01, 2014

More Decks by naoyaikeda

Other Decks in Technology

Transcript

  1. WHAT’S AZURE ML  Microsoft Azure上に構築された機械学習のPaaS  MicrosoftのプロプライエタリなモデルとオープンなR環境のハイブ リッド 

    UIは処理のブロックを組み合わせる方式  Azure MLの詳細はMSC2014のプレゼンテーションなどが参考になり ます (まだ公開されてないようです)
  2. R IN AZURE ML  RはML Workshop上のExecute R Scriptブロックとして実現される 

    PaaSなのでR環境の構築などは必要なく雲の中  データの取得は標準で使用できるmamlパッケージで行う  データの取得元としてはML WorkshopにアップロードしたCSVやAzure SQL Database、Azure Storageなどが指定できる  Execute R Scriptブロックには2個の入力とデータセットと図の出力がある  分析対象のデータを入力につなぎ、予測結果等をデータセットとして出力 する  Azureの特有のコードはExecute R Scriptの生成時に生成されたRコードを 参照するのがよい
  3. AZURE ML MODELS  Classification  Multiclass/Two-Class Decision Forest/Jungle 

    Multiclass/Two-Class Logistic Regression  Multiclass/Two-Class Neural Network  One-vs-All Multiclass  Two-Class Averaged Perceptron  Two-Class Bayes Point Machine  Two-Class Boosted Decision Tree  Two-Class Support Vector Machine  Clustering  K-Means Clustering  Regression  Bayesian Linear Regression Model  Boosted Decision Tree Regression  Decision Forest Regression  Linear Regression  Neural Network regression  Ordinal Regression  Poisson Regression
  4. DERIVATION OF SURVIVAL PROBABILITY  ℎ = lim ∆→0 −(+∆)

    ∆ ∙ 1 = − ( )  = ׬ 0 ℎ = −()  ℎ = ℎ0 +11+22+⋯+ = ℎ0 ∙  = ׬ 0 ℎ0 ∙ = ∙ ׬ 0 ℎ0  = −() = −∙׬ 0 ℎ0  = 時刻 における生存確率 RISKは時間に対して独立であるため定数扱い ℎ0 ()は に対して独立なため一度計算すればいい
  5. PROS AND CONS ABOUT COX PROPORTIONAL HAZARD MODEL Pros Cons

    Logistic Regression • 特定の時刻のみを評価 すればよくデータ加工 の負荷が軽い • リスク変化を時間軸上 で評価できない Cox Proportional Hazard Model • リスク変化を時間軸上 で評価できる • リスク変化パターンが 一定の制約を受ける • リスク発生までデータ を走査する必要があり データ加工の負荷が重 い
  6. EXECUTED CODE # Map 1-based optional input ports to variables

    library(survival) kidney <- maml.mapInputPort(1) # class: data.frame kidney.cox <- coxph( Surv(time, status) ~ sex+disease, data=kidney) kidney.fit <- survfit(kidney.cox) plot(kidney.fit) # Select data.frame to be sent to the output Dataset port # maml.mapOutputPort("kidney.cox");
  7. FOR BETTER PERFORMANCE  生存時間解析においてはリスク事象発生まで全期間の走査を行う必要 がある  SQLにおいてはリスク事象の発生する最小の時刻を計算するなど集計 の負荷が重い 

    各ケースの集計は独立なため並列化の効能は大きいと考えられる  各ケースの走査を平行させることでデータ加工の負荷を改善できる  集計部分にHDInsightを用いることで集計のパフォーマンスを改善する ことが考えられる
  8. BETTER MIXTURE OF HDINSIGHT AND AZURE ML  Azure MLは機械学習のみのため機械学習を効率的に進めるためのデー

    タ加工については多くはない (欠損値の処理などあるものもある)  一般に機械学習のアルゴリズムを高度化するよりもデータ加工で異常 値などの対応を強化することで精度を向上できる  Azure MLとHDInsightを適時組み合わせることでデータ加工と学習の 双方の結果を向上できる
  9. FOR ADVANCE  Azure MLでは既定の状態ではbaseパッケージのみ使用可能  CRAN等のパッケージを使うには依存パッケージを含めダウンロード したうえでZIPをWorkspaceに置く  あとはローカルにパッケージがあるものとしてinstall.packageする

     http://blogs.technet.com/b/saketbi/archive/2014/08/20/microsof t-azure-ml-amp-r-language-extensibility.aspx  ただし、Azure ML側にモデルのある手法についてはそちらの方がRよ りもパフォーマンスとしては有利です  実装そのものの可視性や要件として十分かを考える必要がある