統計解析.com

統計解析業務の
アウトソーシング

無料相談を
予約する

信頼性の高い測定方法を設計しよう (1)

アウトライン
  1. 作成日: 2025/12/11
  2. 更新日: –

はじめに

機能性表示食品制度では、「科学的根拠に基づく機能性の評価」が必須です。その根拠の質を決める大きな要因の一つが測定方法です。

適切な測定計画は、「機能性があるかどうか」だけでなく「その機能性を正しく証明できるかどうか」 を決定づける極めて重要な要素なのです。

本コラムでは、測定の基礎概念である 定度 (precision)・真度 (accuracy)・妥当性 (validity) を、機能性表示食品の開発場面に合わせて解説します。

事例: 変数の種類と統計学的パワーの調査

あなたはアウトカム候補を整理するため、研究で取得予定の以下の変数の「性質」を分類する必要があります。また、統計学的パワーを上げるために改善できそうな工夫があれば指摘してください。

  • 食後血糖値が 140 mg/dL を超えたかどうか (はい/いいえ)
  • 年齢
  • 学歴 (大学卒以上/それ未満)
  • 就学年数
  • 人種
  • 1日のコーヒー摂取杯数
  • 便通状態 (良好・やや不良・不良)
  • LDLコレステロール値 (mg/dL)
  • 髪の色
  • BMI ≥ 30 を基準とした肥満分類 (肥満/非肥満)

解答・解説

3.1 各変数の分類

各変数の分類を下の表にまとめます:

項目 分類 理由
  1. 血糖値140 mg/dL超過 (はい/いいえ)

二値変数 カットポイントで二分化した状態
  1. 年齢

連続変数 実数で測定される
  1. 学歴 (大学卒以上/それ未満)

二値変数 二つのカテゴリのみ
  1. 就学年数

離散変数

(連続変数可)

年数は整数だが統計上は連続として扱える
  1. 人種

名義変数 順序を持たないカテゴリ
  1. 1日のコーヒー杯数

離散変数

(連続変数可)

整数だが数量なのでほぼ連続扱い可能
  1. 便通状態 (良好/やや不良/不良)

順序変数 カテゴリに順序がある
  1. LDL-C値

連続変数 実数で測定される
  1. 髪の色

名義変数 順序を持たない
  1. BMI≥30 (肥満/非肥満)

二値変数 二値化されている

3.2 統計パワーを上げるための工夫

「基準値を超えているかどうか」、「肥満か、肥満でないか」といった二値化 (カットオフで区切る方法) は、直感的でわかりやすく、よく使われます。

しかし研究デザイン・統計解析の観点では、二値化は連続データが持つ豊富な情報の多くを失う行為 であり、解析の効率を著しく下げるという欠点があります。

例えば連続値であれば、120、125、130、150、170 mg/dL といった細かな違いを識別できますが、二値化すると「140未満」か「140以上」の2分類になり、これらの値の差異をすべて捨ててしまいます。

この情報損失は、統計学的パワー (効果を検出する力) の低下 として直接的に表れます。
特に機能性表示食品の試験はサンプルサイズが比較的小さいことが多いため、二値化によるパワー低下の影響は無視できません。

以下の手順で、連続値と二値化のパワー差をシミュレーションします。

  • 効果量 (平均差) 0.3SD の2群データを作る
  • 5000回シミュレーションして、毎回t検定とχ²検定を行う
  • p < 0.05 になった割合を調べる (これが統計学的パワー)
  • 連続値 vs 二値化のパワーの差を返す
set.seed(123)

  simulate_power <- function(n = 100, mean_diff = 0.3, cutoff = 0) {

    # 反復回数
    R <- 5000

    # 結果保存
    p_cont <- p_bin <- numeric(R)

    for (i in 1:R) {

      # 群1(対照):平均0、SD1
      g1 <- rnorm(n, mean = 0, sd = 1)

      # 群2(介入):平均 mean_diff、SD1
      g2 <- rnorm(n, mean = mean_diff, sd = 1)

      # --- 1. 連続値でのt検定 ---
      p_cont[i] <- t.test(g1, g2)$p.value

      # --- 2. 二値化してカイ二乗検定 ---
      g1_bin <- ifelse(g1 > cutoff, 1, 0)
      g2_bin <- ifelse(g2 > cutoff, 1, 0)

      tab <- table(group = c(rep(1,n), rep(2,n)),
                   response = c(g1_bin, g2_bin))

      p_bin[i] <- chisq.test(tab)$p.value
    }

    # パワー(p < 0.05 の割合)
    power_cont <- mean(p_cont < 0.05)
    power_bin  <- mean(p_bin < 0.05)

    return(list(
      power_continuous = power_cont,
      power_binary = power_bin,
      loss = power_cont - power_bin
    ))
  }

  # 実行
  res <- simulate_power()
  res

結果は・・・

> res
$power_continuous
[1] 0.5648

$power_binary
[1] 0.3496

$loss
[1] 0.2152

連続値の方が約21%も高いパワーを示し、二値化によって大幅な検出力の損失が生じることがわかります。

なお、サンプルサイズを増やすとこの差は縮小しますが、二値化の“情報効率の低さ”そのものは解消されません。つまり、二値化をアウトカムに採用する場合は、必要サンプル数がより多くなる ということです。

まとめ

二値化は理解しやすく、臨床的な説明に適した方法ですが、研究の場面では連続変数よりも大きな統計パワーを失います。特に小規模な機能性表示食品の試験では、この差が結果の信頼性に大きく影響します。

一方で連続変数を用いれば、わずかな変化でも捉えられ、効果量の推定精度も向上し、必要サンプル数も少なく済みます。

そのため、研究実務では「解析では連続変数を使用し、説明では二値化も併記する」というアプローチが最も合理的であり、科学性と実務性の両立を可能にします。

関連するサービス

このシリーズを読む