Path to でーたさいえんてぃすと

データサイエンスの勉強の過程を公開していきます。

DPC機能評価係数×因子分析

仮説

  • 機能評価係数Ⅱの各係数を決める因子を探索してみて、病院をクラスタリングすることができれば、病院機能を新しい視点で評価することができるのではないか。
  • そのための前段階として因子分析をしてみる。

使用データ

  • 機能評価係数Ⅱの内訳(医療機関別)令和4年4月1日時点 (https://www.mhlw.go.jp/content/12404000/000946859.pdf)

    • DPC機能評価係数Ⅱは、医療提供体制全体としての効率改善等へのインセンティブを評価した指標です。具体的には6つの係数(データ提出係数、効率性係数、複雑性係数、カバー率指数、救急医療係数、地域医療係数)によって構成されます。

    • 機能評価係数Ⅱのうち、複雑性係数、カバー率指数、地域医療係数については、社会や地域の実情に応じて求められている機能の実現(地域における医療資源配分の最適化)という観点から 各医療 配分の最適化)という観点から、各医療機関群毎に評価設定されています。 (https://www.mhlw.go.jp/stf/shingi/2r9852000002d7vj-att/2r9852000002d886.pdf)

解析の流れ

  1. 平行分析をして抽出する因子数を推定

  2. 因子分析を実行

    1. 結果を表示
    2. 結果を図で表示

結果 

1. 平行分析をして抽出する因子数を推定

以下のコードをRで実行する。

# ライブラリのインポート
library(psych)

# fa.parallel: 平行分析の実施(視覚的に適切な因子数を判断)
    # fm: 因子抽出法(minres 最小残差法、pa 主因子法、ml 最尤法)

results.prl <- fa.parallel(df[, c(5:13), fm="ml"])

図1 平行分析の結果

  • 赤い点線を下回る因子や主成分を抽出しても意味がない。
  • 上の図より因子数は4, 主成分数は3が推奨されている。

2. 因子分析を実行

1. 結果を表示.

以下のコードを実行する。

# ライブラリのインポート
library(psych)

# fa.parallel: 平行分析の実施(視覚的に適切な因子数を判断)
# fm: 因子抽出法(minres 最小残差法、pa 主因子法、ml 最尤法)
results.prl <- fa.parallel(df[, c(5:13), fm="ml"])


# FA(因子分析)
# fa: 因子分析の実行
    # fm: 因子抽出法(minres 最小残差法、pa 主因子法、ml 最尤法)
    # nfactors: 因子数(抽出したい軸の数)
    # rotate: 回転法(直行回転 varimax等、斜交回転 promax等)
    # scores: 因子得点算出法(回帰法 regression)
resultFA <- fa(df[, (5:13)],
          nfactors = 4,
          fm = "ml",
          rotate = "varimax",
          scores = "regression")

# 結果の表示

# digits: 小数点以下表示桁の指定
# sort=TRUEを指定(各項目ごとの因子負荷量がソートされる)
print(resultFA, digits = 2, sort = TRUE)

2. 結果を図で表示

因子分析の結果を記述したものが以下。

図2 因子分析の結果

結果の見方

テーブルの項目

  • item: 変数のもとの順序
    • ML1~4: 共通因子ごとの因子負荷量(各変数の寄与の度合い)
    • h2: 共通性(各変数が共通因子で説明できる度合い)
    • u2: 独自性(各変数が共通因子で説明できない度合い。大きい変数が多いと望ましくない)
    • com: 複雑性(各変数の因子負荷量が複数の共通因子にまたがっている度合い)
  • 表示された結果を上から準に眺めていき、どの共通因子への因子負荷量が高いかで変数を分ける(上の例では4つ)
    • 上左から順に見ていき、ML1とML2の絶対値が逆転するところが主にML1に寄与する項目とML2に寄与する項目の境目。
  • Cumultive var(累積寄与率) の値を見て、どれくらいの分散が説明できるかを確認する
    • 上の例ではML3までで64%の分散を説明できる

図示したものは以下。

図3 因子分析を図示

議論

結果の解釈

  • ML1は定量評価係数(小児)と定量評価係数(小児以外)と地域医療係数が主な変数
    • 地域医療貢献度(どれだけ地域医療を頑張っているか)
  • ML2は体制評価係数とカバー係数が主な変数
    • 疾患対応度(どれだけ5疾病5事業の疾患を見ていて、かつ診療できる疾患の幅があるか)
  • ML4は効率性係数(+)と複雑性係数(-)が主な変数
    • 総合的入院期間指数 or 総合的重症度(どれだけ入院期間が短く、医療資源投入量が少なくてすむ患者を見ているか)
      • この指数が高い方が入院期間が短い
  • ML3はあまりいい評価指標とはならなそう

限界点

  • 結果の解釈には個人的な解釈が含まれてしまう。DPC機能評価係数Ⅱに対する知識が足りないため、議論で挙げた解釈(地域医療貢献度、疾患対応度、総合的入院期間指数・総合的重症度)が正しくない可能性がある。
  • DPC機能評価係数Ⅱ自体が、病院機能を総合的に捉えるための指標であるため、因子分析する必要性が高くない。

参考サイト