統計解析ソフト

この記事は約10分で読めます。

1. 統計解析に関して

統計解析に抵抗のある方も多いと思いますが、統計解析自体は重要なものの、それよりも研究のデザイン、仮説と研究のストーリーラインを描くことが重要です。ここさえ押さえていれば、統計解析は専門家に聞くことができますが、デザインや仮説が決まっていない場合、生物統計家に相談しても『で、何をして欲しいの?』と思われてしまいます。

当然ながら、解析は適当に行うと間違った結果が出る可能性があるので、自信がなければ経験者か生物統計家に相談する必要があります。また、近年では高度な統計解析を要求されることも少なくないので、自分である程度の知識をつけた上で、さらに相談が必要になることもあるでしょう。数理的背景を知ることも大事ですが、ケーススタディとその統計手法を用いるための仮定を知ることから始めると良いでしょう。

基本的にこのマニュアルは統計解析がある程度終えている、もしくは研究デザイン・統計解析に関しては指導者の責任のもと行われているという前提を置いていますので、研究デザインや具体的な統計解析に関しては述べません。そもそもデータを取得してから医療統計を学ぶのは「泥棒を捕らえて縄を綯う」です。

とはいえ、全員が全員一からt検定とは…から始めるのも現実的ではありません。メンターの指導のもと、ある程度の割り切りを持って執筆するのが現実的かと筆者は思っています。実際に必要な統計手法は各研究によって異なるので、必要な部分から学んでいきましょう。

また、データサイエンスそのものに関しての無料講義資料が公開されているのでこちらに目を通しておくと良いです。良い本もたくさんありますが、下記以外にも良い資料はたくさんあるので、大抵はwebで検索すれば良い気もします。

1. ICR臨床研究入門

ICRweb: ダッシュボード (ゲスト)

無料の臨床研究サイトとは思えないくらい充実しているので、まずはこのウェブサイトを見ましょう。やや生物統計・ランダム化比較試験などに寄っていますが、ほとんどのトピックをカバーしています。中でも臨床研究の基礎知識講座、生物統計基礎セミナー、生物統計学疫学研究手法論、プロトコール・論文あたりは観察研究を中心に行う臨床家におすすめです。ちなみに講師も有名な先生方ばかりです。

2. 数理・データサイエンス教育強化拠点コンソーシアム:リテラシーレベルモデルカリキュラム対応教材 

リテラシーレベルeラーニング教材・講義動画配信 | 数理・データサイエンス・AI教育強化拠点コンソーシアム

東大・九州大・滋賀大が合同で作成している公開eラーニング講座です。医療統計だけでなく、数理統計や機械学習まで含めて、統計解析に関してはこの無料講義資料だけで十分なレベルです。でも自学自習というのは案外難しく、あまりみんな実際に使わないんですよね…


2. 統計解析ソフトの種類と特徴

ちなみに統計ソフトがなぜ必要か?に関してですが、皆さんにとって馴染みの深いであろうExcelなどは基本的にデータを計算・集計するための「表計算ソフト」であって、(基本的には)統計ソフトではありません。

臨床研究における生物統計学では主に記述統計推測統計がありますが、後者の「推測統計」を行う時には回帰分析や生存分析などの様々な手法を用いるため、専用のソフトが必要になるというわけです。記述統計と推測統計の違いや必要性が分からない方には、筆者の書いたこちらの本をお勧めします。本サイトではまだ扱っていませんが、記述研究、関連性の研究、因果推論、診断・予測研究などの違いが分からないと苦労します。

僕らはまだ、臨床研究論文の本当の読み方を知らない。〜論文をどう読んでどう考えるか
筆者らの本なのでCOIがあります。『臨床研究論文の本当の読み方を知らない』は論文を読むための本である一方、実は論文を書く時に意識している点をかなり詰め込んでいます。本マニュアルと並べて目を通しておくことで、実際に論文を書く時に困りがちな点が整理されていくと思います。また本サイトの構成などもこの本に準じているので理解を深めやすいかと思います。

ただし統計ソフトは適当に使っても結果を返してくれるため、「何となく」で使われている状況も散見します。これは間違った手法を用いていても分からないため、必ず経験のある指導者に相談し、自分の解析方法が正しいかどうかを確認しましょう。

まず臨床研究に用いるデータを扱うソフトは大きく分けて4種類あります。

  1. 無料だが、自分でコードを書いてデータを解析するソフト(R、Python)
  2. 有料だが、コマンド選択で簡単にデータ解析ができるソフト(JMP、STATA、SPSS)
  3. データベースそのものを扱うためのソフト(SQL)
  4. 上記以外(SAS、MATLAB、Excelなど)

1と2の違いは①有料(大体数万円〜)か無料かと、②グラフィカルユーザーインターフェイス(Graphical User Interface, GUI)があるかどうか、です。GUIというのはプログラミング言語を書かなくても、コマンドを入力する事で動くというメリットがあります。有料ソフトの多くはアカデミック版だと安いですが、それ以外だと10万円を超えることも普通です。

例えばSTATAで回帰分析を行う場合、コマンド一覧からLinear regressionを選ぶ

一方、RやPythonは無料ですが、下記のようなコードを自分で書かないといけません。ここに大きなハードルがあるので、Rが初学者に敬遠されるところです。しかしその分拡張性は高く、何よりも各研究者が便利なツールやパッケージ(Rやpythonの上で動く便利プログラム)を作って公開しているので、慣れた場合の便利さや自由度において、この二つに勝てる市販のソフトは無いと思います。そして今はChatGPTに聞けばコードを教えてくれるので、圧倒的に使いやすくなりました。エラーが出てもエラーメッセージを貼り付ければ多くは解決します。

3番目のデータベースそのものを扱うソフトは現状SQL一択だと思います。これは普通(?)の臨床研究を行う上では用いることがないと思いますが、ビッグデータを用いる時に必須のソフトになります。

例えばある患者さんが入院して、採血が二週間毎日行われたとしましょう。そうすると日々のバイタルサインに加えて採血情報だけでもとてつもなく大きなサイズのデータセットになります。さらにそのような患者さんが数万人いたらExcelなどでは開くだけで時間がかかってしまいます。統計ソフトも同様に、大きすぎるデータを扱えません。このようなケースにおいてデータベース言語と呼ばれるSQLが大活躍します。

SQLはデータベース言語なので統計解析には不向きですが(近年は記述研究のfunction等が追加されてはいます)、複数の大きなデータセットを組み合わせたり新たな変数を作成したりといった作業を高速で行います。SQLで解析可能なレベルのデータセットを切り出し、そこからRやPythonで解析を行うというわけです。ビッグデータを扱う大学院、あるいはヘルスケアデータを扱う企業などで研究を行う際には必須の言語になっています。


3. どの統計解析ソフトを使うべきか

十数年前まではSASとSPSSが幅広く使われてきましたが、その後2010年〜2015年にはJMPとSTATAが流行しました。筆者もJMPとSTATAから始めています。しかしここ5年ほどで臨床研究はR、一般の解析や機械学習はPythonという時代になっています。

現状、臨床研究における統計ソフトは現状ほぼRだと思います。機械学習もRである程度可能ですし、図表を作るのにも適しています。画像処理や機械学習を専門にしたいのであればPythonが良いでしょう。ちなみに機械学習をしないのであればPythonを使うメリットはあまり無いです(臨床研究者の視点)。DPCなどのclaims/administrative dataを用いる先生はSTATAを好む傾向にあります。使いやすいソフトであることには違いないのでお金に余裕があり、かつSTATAの指導者がいるならSTATAもおすすめです。

ただ別の章でも書きましたが、実際は周囲の研究環境によって異なります。筆者は「指導者あるいは同僚と同じソフトを用いる方が良い」と思います。大学であればSPSSもしくはJMPが入っているところが多いでしょう。2015年〜2020年あたりに公衆衛生大学院を出ている先生、あるいはそういった先生に指導を受けている人はSTATAを使う人が多い印象です。一方、近年はほぼRになり、機械学習や実装を行うならPythonといった感じです。

R AnalyticFlow

実のところ、解析に関しては「自分が今何を行っているか」が分かればどのソフトでも表現系が違うだけなので応用がききます。むしろ大変なのはデータラングリング・データハンドリングと呼ばれる、「統計解析を行うためにデータを綺麗にして、必要な変数を作成し、解析できる形にする」ことで、実際の統計解析の80%は解析そのものではなくデータラングリングに費やされると言っても過言ではないでしょう。この点において、Rは少々慣れが必要なので(エラーも出やすい)、JMPやSTATAに軍配があがるかもしれません。

「やっぱりコードが苦手だ」という方や、全くの初心者かつJMPが使える環境ならJMPからスタートするのがつまづきにくいかもしれません。GUIが非常に分かりやすいですし、筆者もとっかかりはJMPでした。ちなみに「JMPやSTATAは高額だし、無料でかつ、GUIの統計ソフトが使いたいなあ」という方にはEZRがお勧めです。EZRは日本人の先生が作成したRをGUIで用いることを可能にしたソフトです。EZRは詳しい解析をしたい場合は不向なので大学院に進学するなど、しっかりと研究を行うならRを用いて研究を行うのが良いです。

RとR StudioとEZRってどう違うの…?
Rはプログラミング言語であり、C言語などと同様です。でもプログラマでない限り素のR言語は使いにくいです。そこでRを使いやすくするためにR Studioと呼ばれる統合開発環境が構築されました。また、Rをコマンド入力形式で行えるようにしたのがEZRです。つまりどれを用いてもRを使っていることに変わりはありませんが、医療統計の場合はR Studioを用いていることが多いと思います(他にもRコマンダーなどもあります)。


4. お勧めの資料

疫学や公衆衛生に関わる業務のための R | 疫学のための R ハンドブック
The Epi R Handbook is a R reference manual for applied epidemiology and public health.

上記の疫学のためのRハンドブックは無料にも関わらず体系的にまとまっていてすごいです。有志の方たちが日本語版を作成したので是非有効活用しましょう。


書籍でおすすめは下記になります。初学者には超入門シリーズが良いでしょうか。
あとは実践あるのみで、しかも躓いたらとりあえずChatGPTに聞くと(少々コードが古かったり間違ってたりしますが)次に進めることが多いです。

医療統計、データ解析しながらいつの間にか基本が身につく本〜Stataを使ってやさしく解説
STATAに関しては東京大学SPHの康永研究室から出版されたこの本がオススメです(筆者も少しだけお手伝いしているのでCOIがあります)。著者の道端先生は「康永研究室でSTATAで困ったら道端先生に聞けばわかる」と言われた先生で、筆者も大変お世話になりました。
改訂2版 RユーザのためのRStudio[実践]入門〜tidyverseによるモダンな分析フローの世界
宇宙本とも言われ、「R Studioでの解析と言えばこの本」と呼ばれるくらい有名な一冊です。
超入門! すべての医療従事者のためのRstudioではじめる医療統計
筆者が所属していた東京大学SPHの先生方が執筆された本で、筆者もこの講義を実際に受けましたが非常にわかりやすく、その講義が書籍になったものです。医療関係者にお勧めです。
超入門! Rでできるビジュアル統計学 解析編 学会・論文発表に役立つデータ可視化マニュアル
次の書籍と合わせておすすめの一冊。統計解析の結果をいかに図表で示すかは非常にだいじであり、そのツボを突いた一冊です。
超入門! Rでできるビジュアル統計学 学会・論文発表に役立つデータ可視化マニュアル
Rの良い点の一つとして、図表の描画能力が高い点があります。医療従事者向けなので、上記と合わせて、統計解析だけでなくどのように図表を書くかが学べます。
統計的因果推論の理論と実装 (Wonderful R) 
教科書的なのに実践的。数式も多すぎず、読みやすい本です。傾向スコアや回帰モデルで効果推定を行い人に特におすすめですが、因果推論と言われてピンとこない人は先に疫学統計学の諸学者向けの本を読んで全体像を掴んだ方が良いと思います。MPHであれば多分2年目〜くらいがちょうど良いでしょう。相当量の知識による文脈や背景の整理と、シンプルなコードが非常に素晴らしい一冊です。

また、下記の動画講座もお勧めです(利益相反なし)。西田先生の動画は非常にわかりやすく、医療者がターゲットです。

医師が教えるR言語での医療データ分析入門‐改訂版(2022年)
R言語でのデータ分析の基礎、インポート、クリーニング​、​可視化​、レポート作成を丁寧に解説!重回帰分析、ロジスティック回帰分析、一般化線形モデルの基礎から優しく解説。R言語に入門したいすべての人に向けたコース。

定期的にupdateしたいのであればTokyoR勉強会があるのでフォローしてみてはどうでしょうか。


前<<執筆/文献管理ソフト
次>>問いの立て方と文献検索

タイトルとURLをコピーしました