EZRの使い方

ノモグラムとは?医療分野でも使われる予測モデルを可視化するツール

この記事では「ノモグラムとは?医療分野でも使われる予測モデルを可視化するツール」としてお伝えします。

  • ノモグラムとは?医療で使われる診断ツール
  • ノモグラムの具体的な使い方
  • ノモグラムの作り方!EZRでは作れないけどRのrmsパッケージで作成可能

をお伝えしますので、今日からでもRでノモグラムを作成することができるようになると思います!

 

>>もう統計で悩むのは終わりにしませんか? 

↑期間・数量限定で無料プレゼント中!

ノモグラムとは?医療で使われる診断ツール

ノモグラムは、ある関数(予測モデルや診断モデルなど)によって計算された予測確率のアウトプットを可視化するためのツールです。

実際のモノを見た方がイメージが湧きやすいと思いますので、結論から言えば以下のようなモノです。

ノモグラムの目的は「予測確率を計算する」ですが、その目的であれば、予測モデルの数式から計算した方が正確です。

確かに、予測モデルの数式から予測確率を計算することも可能なのですが、ノモグラムを使うと大まかな予測確率を可視化しながら計算できるというメリットがあります。

つまり、Cox回帰やロジスティック回帰を知らなくても直感的に計算が可能です。

「Cox回帰やロジスティック回帰を知らない」ということ自体は、あまり褒められたものではありませんが。。

 

そして、ノモグラムであれば計算過程も可視化できますし、各説明変数の重みも視覚的に分かりやすいです。

上記で示したノモグラムをみると、「Treatment」という因子よりも「Age」という因子の方が予測確率に寄与していそうなことがわかります。

 

ノモグラムは医療現場でもがんの分野でよく使われている印象

ノモグラムは、医療現場ではがんの分野でよく使われている印象があります。

例えば、大腸がん研究会の「結腸癌術後予後予測ノモグラム」というものがあります。

>>大腸がん研究会の「結腸癌術後予後予測ノモグラム」はこちらから

 

入力画面で、現在の年齢や各種臨床検査の値を入力していきます。

すると、3年後の予測生存割合、5年後の予測生存割合が出力されます。

このような感じで、予測モデルを「可視化」できることがノモグラムの何よりも強みになっています。

 

ノモグラムの具体的な使い方

ノモグラムが何なのかが把握できたところで、具体的に使い方を見ていきましょう。

この記事では、こちらの論文にあったノモグラムを使ってみます。

>>参照PDFはこちら

 

結論から言えば、この論文で作成されたノモグラムはこちらです。

このノモグラムからわかることは、「年齢」「Clonal BM plasma cell」「LDH」「β2ーmicroglobulin」「del(17p)」の5つの値があれば、1年後・2年後・3年後の生存割合を知ることができるということ。

 

仮に、下記のような方がいたとして、この症例の生存率を予測してみます。

  • 年齢:40歳
  • Clonal BM plasma cell:20%
  • LDH:<250U/L
  • β2-microglobulin:>=5.5mg/L
  • del(17p):Positive

まずは、この症例の総合得点を計算します。(図の赤字部分)

この症例は、0+10+20+22+42=94点を持つことがわかります。

次に、総合得点と対比する生存率を確認します(図の青字部分)。

すると、1年生存率:約88%、2年生存率:約80%、3年生存率:約67%、という予測になっていることがわかります。

 

以上が、ノモグラムの具体的な使い方です。

 

>>もう統計で悩むのは終わりにしませんか? 

↑1万人以上の医療従事者が購読中

ノモグラムの作り方!EZRでは作れないけどRのrmsパッケージで作成可能

このノモグラムは、結構簡単に作ることができます。

残念ながらEZRのクリック操作だけでは作ることができないのですが、EZRの裏で動いているRのrmsパッケージというものがあれば作成可能。

そのためここからは、Rのrmsパッケージを使って

  • Cox比例ハザードモデルでのノモグラム作成方法
  • ロジスティック回帰でのノモグラム作成方法

をお伝えします。

 

データは自治医科大学さんから提供されている「Survival.csv」を使っていきます。

>>サンプルファイルはこちらから

前提として、rmsパッケージをインストールしていることを想定しています。

パッケージのインストール方法は「r パッケージインストール」とかで検索してみてください。

 

Cox比例ハザードモデルでのノモグラム

状況としては、「前治療の有無(Treatment)」「年齢(Age)」の2つで生存率を予測するノモグラムを作りたいとします。

そして結論から言えば、下記のようなRのプログラムを実行することで作成可能です。

(例えば、1年時点の生存率を予測する場合)

# ノモグラムの作成
library(rms)
dat <- read.csv("Survival.csv")
cox.mod<- cph(Surv(DaysToOS, OS > 0) ~ Treatment + Age, data = dat, x=TRUE,y=TRUE,surv=TRUE)

cox.mod

dd <- datadist(dat)
options(datadist="dd")
cox_nomogram <- nomogram(cox.mod, lp=TRUE, fun= list(function(x) surv(365,x)),  funlabel="1-Year Survival Prob")

plot(cox_nomogram)

 

すると、下記のようなノモグラムが作成されます。

ロジスティック回帰でのノモグラム

「前治療の有無(Treatment)」「年齢(Age)」の2つで性別を予測するノモグラムを作りたいとします。

(性別を予測する、という状況は現実的にはあり得ないですが。。)

# ノモグラムの作成
library(rms) 
dat <- read.csv("Survival.csv") 
 
log.result <- lrm(Sex ~ Age + Treatment, data=dat) 
 
log.result  
 
dd <- datadist(dat) 
options(datadist="dd") 
log_nomogram <- nomogram(log.result, fun = plogis)

plot(log_nomogram)

 

すると、下記のようなノモグラムが作成されます。

Rでノモグラム作成の際の修正Tips

Rでノモグラム作成することができました。

ただ、デフォルトで出力されるノモグラムの表現を修正したい、という場合もあると思います。

そのため、修正のTipsをお伝えします。

具体的には下記2点です。

  1. linear predictorを消す
  2. Predicted Valueの名称を変更

 

ノモグラムのlinear predictorを消す

ノモグラムのlinear predictorを消すためには、nomogram関数の中で「lp=F」を追記します。

具体的には、以下のようなプログラムに。

# ノモグラムの作成
library(rms) 
dat <- read.csv("Survival.csv") 
 
log.result <- lrm(Sex ~ Age + Treatment, data=dat) 
 
log.result  
 
dd <- datadist(dat) 
options(datadist="dd") 
log_nomogram <- nomogram(log.result, fun = plogis, lp=F)

plot(log_nomogram)

 

すると、linear predictorが消えることがわかります。

 

ノモグラムのPredicted valueの名称を変更

ノモグラムのPredicted valueの名称を変更するためには、nomogram関数の中で「funlabel=”修正したい名前”」を追記します。

具体的には、下記のようなプログラムです。(Yosokuという名前に修正する例です。)

# ノモグラムの作成
library(rms) 
dat <- read.csv("Survival.csv") 
 
log.result <- lrm(Sex ~ Age + Treatment, data=dat) 
 
log.result  
 
dd <- datadist(dat) 
options(datadist="dd") 
log_nomogram <- nomogram(log.result, fun = plogis, lp=F, funlabel="Yosoku")

plot(log_nomogram)

 

すると、Yosokuという名前になることがわかります。

 

まとめ

いかがでしたか?

この記事では「ノモグラムとは?医療分野でも使われる予測モデルを可視化するツール」としてお伝えしました。

  • ノモグラムとは?医療で使われる診断ツール
  • ノモグラムの具体的な使い方
  • ノモグラムの作り方!EZRでは作れないけどRのrmsパッケージで作成可能

をご理解いただけれたのなら幸いです!

 

こちらの内容は動画でも解説しておりますので、併せてご確認くださいませ。

期間・数量限定!書籍「統計を身につける5つのステップ」を無料プレゼント

第1章:臨床研究ではなぜ統計が必要なのか?計画することの重要性

第2章:研究目的をどれだけ明確にできるのかが重要

第3章:p値で結果が左右される時代は終わりました

第4章:多くの人が統計を苦手にする理由

第5章:統計を使えるようになるために今日から何をすれば良いか?

第6章:統計を学ぶために重要な環境

 

もしあなたがこれまでに、何とか統計をマスターしようと散々苦労し、何冊もの統計の本を読み、セミナーに参加してみたのに、それでも統計が苦手なら…

私からプレゼントする内容は、あなたがずっと待ちわびていたものです。

 

↓今すぐ無料で学会発表や論文投稿までに必要な統計を学ぶ↓

↑無料で学会発表や論文投稿に必要な統計を最短で学ぶ↑