Pythonによるデータ分析・機械学習ブログ

Pythonによるデータの前処理・グラフ化、機械学習、統計解析、画像処理、Webスクレイピング、自然言語処理の基礎について紹介していきます。

MENU

【第5回】statsmodelsを用いたBland-Altmanプロットの作成:一致度の評価

はじめに

計測したデータの分析などをしていると2つの計測機器間のデータの一致性を評価する場面があります。その際に用いる分析手法の一つにブランド・アルトマン分析があります。

ブランド・アルトマン分析についてはStats Guild:ブランド・アルトマン分析(Bland-Altman analysis)の内容を引用させていただきます。

ブランド-アルトマン分析(Bland-Altman analysis)は2つの測定方法の一致性の評価に用いられる手法です。たとえば、ある測定項目について、測定方法Aと測定方法Bという2種類の測定を同一の被験者に実施した場合、ブランド-アルトマン分析によって、2つの測定方法の一致性を評価することができます。

ブランド-アルトマン分析(Bland-Altman analysis)

本記事では、statsmodelsを用いたBland-Altmanプロットの作成について紹介します。

SAMURAI TERAKOYA

 

1. statsmodelsのインストール

statsmodelsのインストールはpipで以下のコマンドのように実施します。

 

2. ブランド・アルトマンプロットの生成

ブランド・アルトマンプロットの説明は以下の引用を参照してください。

Y軸に2つの測定方法の差、X軸に2つの測定方法の平均値を示した、ブランド-アルトマンプロットと呼ばれるグラフを作成します。

ブランド-アルトマン分析(Bland-Altman analysis)

それではコード例を示します。

ブランド・アルトマンプロットの生成にはstatsmodels.graphics.agreement.mean_diff_plotを使用します。以下の例ではダミーデータとしてsin関数のデータに微小な変化を加えて、2つのsin関数を修正したデータy1、y2を生成しました。その2つのデータy1、y2をDataFrameに格納して上記関数を用いてブランド・アルトマンプロットを生成します。

出力結果は以下です。まずはy1とy2のデータです。今回はこの2つのデータの一致性を評価しています。このデータは同じ対象に対して異なる2つの計測機器で計測したと仮定したダミーデータです。

そして、ブランド・アルトマンププロットは以下の図のようになります。

こちらの図の解釈としては引用を参照してください。

グラフの参照線(破線)は、2つの測定方法の差の平均と誤差の許容範囲(limits of agreement;LOA)を示しています。2つの測定方法の差が誤差範囲内(LOA)であれば、2つの測定方法は同等である(一致性がある)と解釈することができます。

測定値に含まれている誤差に、系統誤差が存在せず偶然誤差のみであれば、誤差の大きさや範囲を推定することができます。そこで、ブランド-アルトマンプロットから、視覚的に系統誤差の有無を確認します。

ブランド-アルトマン分析(Bland-Altman analysis)

 

 

オススメ書籍

Pythonによるあたらしいデータ分析の教科書

Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。

データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析

こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。

東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~

こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。

 

スキル修得&転職

 近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。

以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼

▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲

 

おわりに

本記事では、statsmodelsを用いたBland-Altmanプロットの作成について紹介しました。データ分析を業務として行う人、計測機器の妥当性評価を行う人は良く使う手法だと思います。こういった分析手法があるんだという程度で覚えておけば大丈夫かと思います。