データ分析に関する議論では「データをどのように分析するか」「どうやって、どのような統計的手法を用いるか」といった話題が中心です。
例えば統計的因果推論のための分析方法に関する書籍やブログ記事はたくさんありますが、「どうやって傾向スコアを使うのか」「数式上、なぜ傾向スコアを使うと(仮定のもとで)効果が検証できるのか」といったテクニカルな議論は多いものの、「分析の対象となるデータの特徴が結果にどのような影響を与えるのか」といった議論は少ないです。
巷のデータ分析に関する議論には、「使用しているデータが完璧である」という仮定のもとに成り立っているものも少なくありません。
ところが現実世界のデータは非常に汚い、完璧とは程遠いということは実際にデータ分析に関わったことがある人ならわかると思います。
そこで今回は、
- データが誰から得られたのか
- なんのデータがどのように測定されたのか
という2つの視点から、それぞれ分析結果やその解釈に与える影響についてまとめてみました。
それぞれ手法研究の世界では非常に深い議論がされているテーマなのですが、今回は各論に深入りしません。
分析者の立場から
- 「どのようなデータがとれたら理想なのか?」
- 「どのようなポイントに注意しながら分析・結果の解釈をすれば良いか?」
といったことを考えたり、
情報の消費者の立場から、
- 「すごそうな統計手法を使っているが、そもそも使っているデータ自体に問題はないか?その影響はどのようなものか?」
とデータ分析の結果を批判的吟味する際に使えるチェックポイントをいくつか整理するという試みです。
データがどこからきているのか?
まず、分析の対象となっているデータ(分析サンプル)が誰からどのような基準で得られたものなのかを吟味する必要があります。
考えるべきポイントは次の二点
- 分析サンプルに代表性はあるか
- 選択バイアスは起きていないか
ポイント1:分析サンプルに代表性はあるか
これまで何回かこのブログでも書きましたが、統計学の基本は推論の対象としたい母集団を想定することから。
母集団の人びと全員からデータをとるのは不可能なので、標本(サンプル)抽出を行う、つまり母集団のなかの一部の人を引っ張ってきて、その人たちだけからデータをとります。
母集団を代表するようなサンプルがとれれば、そのサンプルを分析した結果に基づいて母集団に対しても推論が可能になるわけです。
サンプルの代表性がなくなる主な理由として
- そもそもデータをとってこようとする対象集団がズレている(非無作為抽出)
- 実際にデータが得られた人が特殊(非回答による影響)
などがあると思います。
サンプルが母集団を代表しない場合は、得られたサンプルを分析しても母集団に関する知見が得られない可能性が出てきます。
ここで考えるべきは、分析の目的がなにかということです。
統計解析にはいくつかの目的がありますが、大きく記述、予測、因果効果の推定に分けられると言われています(詳しくはこちらの論文を参照)。
サンプルの非代表性が特に問題となるのは「記述」が目的、つまりある集団の実態を定量的に知りたいときです。
例えば「東京都の成人(母集団)の平均所得を知りたい」という目的に対して、銀座でお買い物をしている人たちを対象に街頭インタビューして得られたデータ(代表性はない。リッチピーポーのサンプル?)を分析をもとに平均所得を出したのではダメというのは直感的にわかると思います。
ところが「因果効果の推定」が目的のとき、「代表性がないサンプルだと絶対にダメ」とは必ずしも言えません。
代表性がないサンプルでも「サンプル内での効果」は正しく推定できる可能性もありますし。
後述する「選択バイアス」が生じている時はサンプル内での効果も正しく推定できません。
また「サンプル内での効果」が正しく推定できたとして、推定された因果効果が母集団やその他の集団に当てはまるかどうかの議論は、単にサンプルに代表性があるかどうかではなく、そのほか複数の要素によって決まります。
詳しくはこちらの記事を参照ください。
実際には、そもそもなにが母集団なのか自体が明確でないデータもたくさんあります。
疫学徒は一家に一冊持っているModern Epidemiologyの著者で、疫学の理論研究で有名なロスマン先生は「代表性(を目指すこと)は避けるべきである」という過激な論文を出したこともあります。
これは極端な意見としても、分析の目的によっては代表性がなくてもそこまでクリティカルな問題とならない場合もあることを知っておくのは重要だと思います。
ポイント2:選択バイアスは起きていないか
因果効果の推定が目的の分析では、むしろサンプル選択の方法によって選択バイアスが生じているかどうかが重要です。
選択バイアスという言葉は分野によって使われ方が異なりますが、ここでは「効果を推定したい曝露因子とアウトカムの予測因子の共通効果の条件付けで生じるバイアス」と定義します。
このような意味での選択バイアスが生じている時には、
- 効果検証のために行われている比較がアンフェアになる(Exchangeabilityが不成立)
- たとえ真の曝露効果がなかったとしても統計的な関連が生じる
- 効果の推定値にバイアスが生じる
という問題がおきます。
これはいわゆる内的妥当性の問題。
どんなにサンプルが偏っていてもサンプル内での効果は正しく推定できる、というのはよくある誤解です。
選択バイアスが生じているようなデータは前述した代表性もありませんが、代表性がないからといって選択バイアスが生じているとも限りません。
RCTを例に考えてみましょう。
ある病気の患者(母集団)における、治療Aの効果を知りたいとします。
ある特定の病院の患者にお願いして、そのうち快く参加に同意してくれた人たち(サンプル)を対象にRCTを実施したとしましょう。
当然このようなRCTの参加者は代表性のない非常に偏った集団ですが、少なくとも(全員が脱落なく追跡できた場合)治療A(への割付)のサンプルにおける効果は正しく推定できます。
ところが治療Aへの割付効果を評価するために追跡調査を行った結果、RCT参加者の一部からデータを得られなかった(追跡を失敗した)場合はどうでしょうか。
この場合、データが得られた参加者のみを対象に分析をすることになり、治療割付"後"の要素でサンプル選択が起きているといえます。
そして、このサンプル選択が曝露と関連(例:治療Aに割り付けられた人の方が脱落しやすい)、アウトカムと関連(例:健康状態が悪い人が脱落しやすい)する場合は選択バイアスが生じて、サンプル内における割付効果すら正しく推定できなくなります。
選択バイアスが生じているかを判断するポイントは
- サンプルの選択がおきたタイミングが効果を見たい介入・曝露より前か後か
- そのサンプル選択と介入・曝露およびアウトカムとの関係は?(共通効果構造になっているか?)
です。
もちろん、選択バイアスがありそうだから結果が信頼できないと結論づけるのも短絡的です。
曝露後のサンプル選択(例:追跡の失敗)によって生じるアンフェアな比較が問題なわけですから、基本的には背景因子を条件付け(上記の例だと「健康状態」)してあげることでフェアな比較をすれば問題ありません。
選択バイアスもあくまで程度の問題であり、上の図におけるの各矢印の強さがどの程度なのかを考慮しながらその影響の大きさについて考えて行くのが良いのだと思います。
このように起きているバイアスの大きさを仮定のもとで定量化しながら、その影響を議論する手続きをQuantitative bias analysisといいます。
Modern Epidemiologyの著者の1人でもあるLash教授らによるQuantitative bias analysisの教科書はこちら。
以下の論文も参考に。
なんのデータがどのように測定されているか?
これまで、分析しているデータが「誰から」得られたものなのかという点についてまとめてきました。
ここからは、データが取得された集団がわかったとして、その人たちから「なんのデータが」「どのように」得られたかについてまとめます。
解析結果やその解釈に非常に強く影響するので必ず考えておきたいポイントですが、巷のデータサイエンス談議では驚くほど言及されていない気がしています。
考えるべきポイントは2つです。
- そのデータで評価したいものを正しく捉えているか
- 「真の値」を誤差なく測定されているか
ポイント1:評価したいものを正しく捉えているか
まず考えるべきポイントは、測定されたデータが評価したい(または評価できていると主張している)概念を正しく捉えているかどうか。
社会科学では測定項目の妥当性(Validity)と呼ばれる問題です。
具体例を見ていきましょう。
妥当性がない測定の例
疫学研究ではBody Mass Index(BMI)という指標がよく使われます。
で計算されます。
例えば身長170cmで60kgの人のBMIは60/1.7^2 = 20.8といった具合です。
BMIはよく「肥満の指標」として使われます。
身長に対して体重が大きければ大きいほどBMIの値も大きくなるので、「BMIが高い人は肥満傾向にある」というのは比較的理にかなっています。
しかし、データとして得られているBMIはあくまで「体重/身長の二乗」であって、それ以上でもそれ以下でもありません。
BMIを肥満の指標とするのはそのデータを扱う人々がそのような「解釈」をしたいという願望の結果にすぎず、実際にデータが捉えている現象とは厳密には異なります。
例えば、ボディビルダーのように筋肉量が多い人は(筋肉は重いので)当然BMIも高くなります。
BMIが高いからといってボディビルダーを”肥満”とするのは正しいのかというと必ずしもそうではありません。
また、高齢者でBMIが低い時に「肥満じゃないから健康体」とも言い切れず、単純に虚弱で筋肉量が落ちているだけなのかもしれません。
妊娠中の女性は身長に対して体重が一時的に増えますが、妊娠は「肥満」ではないですよね。
つまりBMIで直接測定されているもの(身長と体重の比率)とその解釈(肥満度)が解離している場合があり、その場合は肥満の指標としてのBMIの妥当性が低い(見たいものが見れていない)といえます。
BMIに限らず「実際に測定されているもの」と「それが捉えていると考えている概念」をできるだけ近づけておくのはデータ分析の基本です。
例えばウェアラブルデバイスを使った「身体活動量」の測定データ、というとクールでセクシーな感じがします。
しかし、ウェアラブルデバイスで直接測定できること(加速度計をつかった身体の動きとスピード)と、それで測定しようとしている「身体活動量」という概念が常に一致するかというと必ずしもそうではないですよね。
「シャワーの時に外して、そのまま忘れて放置したままジムに行ってたくさん運動していた」と本当にゴロゴロして運動をしていないので動きが感知されなかった、というのでは真の身体活動量は異なりますが、測定されたデータ上は同じようなレベルの身体活動量とみなされるかもしれません。
データ分析の結果がその目的を達成するためには、そもそも分析しているデータが見たい概念を正しく捉えていることが大前提になります。
そもそも何を測定すべきか?
少し脱線します。
測定したいと思っている概念をどれだけ正しく捉えているか、がこれまでの妥当性の話でした。
ここで「そもそもなにを測定すればいいのか?」という原点に戻ってみましょう。
もちろん、どのような概念を測定するかは分析の目的に応じて理論的に適したものを選択すれば良いだけの話です。
ところが、効果を推定したい曝露因子として測定する概念はとりわけ注意深く定義する必要があります。
観察データを用いた因果推論の仮定として"(sufficiently) well-defined intervention"と呼ばれる、いわゆる"Consistency"の仮定の一部となる条件があることは以前まとめました。
たとえある概念(例:肥満)を妥当性のある方法で測定できたとしても、その概念を変えるための介入方法が複数ある(例:運動による減量、食事制限)場合は、推定された「肥満の効果」の推定値の解釈が非常に難しくなります。
言い換えると、曝露因子は対応する介入が1つ(もしくはアウトカムへの影響が等しいいくつかのバージョン)に定まることを目指して、できるだけ具体的に定義したうえで(妥当性のある方法で)測定していくことが重要です。
この辺りの議論は、私の過去記事(↑)や以下の論文を参考にしてください。
ポイント2:真の値を正確に測定できているか
見たい概念を妥当性のある方法で測定できたとしても、常に完璧に真の値を測定できるとは限りません。
例えば「血圧」や「体温」、連続して測定してもその度に値が少しずつずれる、なんてことはよくありますよね?
「真の血圧・体温」が測定間(例えば30秒間隔)で変わっていないのだとすると、値が測定の度に変わるのはおかしい話ですが、機材の調子が悪かったのかもしれませんし、測定者の使い方にムラがあったのかもしれません。
インタビュー調査で年収を聞かれて本当の年収よりも少し多めに言ってしまうこともあるかもしれませんし、年齢を聞かれて本当の年齢より少し低めに申告することもあるかもしれません。
このように測定値が「真の値」からずれている状態を測定誤差(Measurement Error)といいます。
測定対象がカテゴリの場合は誤分類(Misclassification)と呼ぶこともあります。
測定誤差/誤分類が起きる理由は様々ですが、
- 気づかずに間違って報告してしまっている
- わざと間違えて報告している(例:年齢のサバ読み)
- 測定技術・機器の不正確さ
- カテゴリーの分類が曖昧(例:どっちのカテゴリに自分が入るかわからない!といった状況)
- データ入力ミス
などがあります。
データが不正確に得られたことの分析結果への影響を考えるうえで、誤差・誤分類の程度はもちろん、どのような種類の誤差・誤分類が生じているかが非常に重要になります。
また、特に因果推論を目的とした分析においては、どの変数に誤差・誤分類が生じているかでその影響が異なってくることもポイントです。
どのような種類の誤差・誤分類か、どの変数に生じているか、という視点からまとめていきます。
測定誤差(Measurement Error)・誤分類(Misclassification)の種類は?
Non-differential Errorと呼ばれるものとDifferential Errorと呼ばれるものにわかれます。
定義上は、ある真の値Aの(誤差のある)測定値をA*としたとき「Aを条件づけるとA*とBが独立になる」ことを「Aの測定誤差はBに対してnon-differentialである」といいます。
逆にこの条件が成立しないときは、測定誤差がdifferentialであるといいます。
これではどのような意味かわかりにくいですよね。
言い換えると、A*の誤差の程度はBの値によらずランダムに決まっている状態です。
されに言い換えると、Bの値とは無関係にA*の誤差の程度が決まるということです。
例えばA=年収、B=教育歴という例を考えましょう。
自己申告で年収を測定した場合、もしかすると教育歴の高い人ほど「自分はこれだけ教育を受けているのに年収が低いなんて恥ずかしくて言えない・・・」と考えて、少し多めに報告してしまう可能性はありますよね?
そして、それ以外の人はそんなことを考えないので正直に年収を報告するかもしれません。
その場合は、測定誤差の程度が教育歴に依存しているため「年収の測定誤差が教育歴に対してdifferentialである」と言うわけです。
ケースコントロール研究などでRetrospectiveに過去の曝露状態を評価するとき、病気を発生している人はそうでない人に比べて曝露のレベルを多く報告する可能性があります。
例えば、妊娠中の化学物質への曝露が生まれてきた子供の先天性疾患に与える影響を知りたいとします。
病気をもって生まれてきた子供の親は「あの時のあれが原因かもしれない・・・」とアレコレ考えますよね。
その結果、「妊娠中に●●に曝露した」というのを細かく報告します。
一方、健康な子の親はそこまで深く考えないので●●に曝露したことを忘れてしまって、「暴露がなかった」と報告するかもしれません。
すると因果効果がなかったとしても、見かけ上は病気をもって生まれた子供の親のほうが●●に曝露していたと報告する割合が高くなるので●●が病気の原因のように見えてしまうわけです。
これは疫学で思い出しバイス(リコールバイアス、Recall bias)と呼ばれ、differential misclassificationの一種です。
どの変数に生じている測定誤差・誤分類か?
効果をみたい曝露因子、アウトカム、交絡因子それぞれに測定誤差・誤分類があると、曝露-アウトカムの関連の推定結果に何が起きるかを考えていきましょう。
まずは曝露因子から。
- (アウトカムに対して)non-differentialな場合:基本的にはアウトカムと曝露の関連が帰無仮説に近づく(差がないように見える)
- Differentialな場合:バイアスの方向はケースバイケース。
関連が帰無仮説に近づくようなバイアスをbias towards the nullと(少なくとも疫学では)呼びます。
曝露が二値または連続変数でかつnon-differential error/missclassificaitonならbias towards the nullということで「測定誤差によるバイアスはあるけど、保守的な方向。言い換えると、真の関連はもっと強いはず」と言い逃れ(失礼)されることが多いです。
ただ、non-differnetial misclassificationでも3つ以上のレベルを持つカテゴリ変数が曝露の時はバイアスがaway from the null(つまり関連が過大推定される)になることもあります(こちらを参照)。
ただしその場合でも、ある仮定の元では効果の推定値の方向(プラスかマイナスか)は正しく知ることができる、なんて話もありますので曝露のnon-differential error/misclassificationはそこまで大きな問題ではないように思います。
次にアウトカムの測定誤差・誤分類について考えます。
- 連続変数かつnon-differnetial:バイアスなし!!!
- 二値変数かつnon-differential:基本的にはbias towards the null
- Differnetial: バイアスの方向はケースバイケース
連続変数かつnon-differentialの場合は、基本的に測定誤差を(推定値へのバイアスという意味では)無視できます。
要は測定誤差は回帰分析における誤差項に吸収されてしまうので、その平均値は正しく捉えることができるからです。
二値かつnon-differentialな場合は、(例外のケースはあるものの)基本的にはbias towards the nullということで推定結果は真の関連を過少推定している(本当はもっと関連が強い)と言い逃れをする(失礼)ことができます。
最後に交絡因子に測定誤差・誤分類がある場合。
- (多くの場合)調整すると交絡バイアスを部分的に調整
「交絡因子Lを調整する」というのはほとんどの場合「交絡因子Lの値が同じ人たちをみて分析する(Lで条件付ける)」ことを意味するというのは以前まとめました。
例えば所得Lを調整するというのは所得が同じ人たちで比較を行うのと同じ意味ですが、所得の測定に誤差がある場合(L*)はどうしたらよいでしょうか?
直感的には「たとえ誤差があったとしてもL*の値が同じ集団は真の所得Lも似たような集団になるので調整することで交絡バイアスに(部分的に)対応できるから調整すべき」と思うかもしれません。
”部分的に”としたのは、L*が同じ人たちのなかでも誤差のせいでLの値にはばらつきが生じてしまうため、厳密にはLの条件付けには成功していないからです。
調整しきれない交絡バイアス(Residual confounding)が生じているともいえますが、たとえ部分的であっても対処できるバイアスには対処したほうが良さそうですよね。
Modern Epidmeiologyの著者でもあるGreenland先生は、「誤差のあるbinary交絡因子L*を調整して得られる推定値は、常に真の値(Lの条件付けから得られる推定値)とCrude estimate(なにも条件付けしない推定結果)の間に位置する」という論文を出したこともあります。
ところが「測定誤差があっても交絡因子は調整したほうがいい」は必ずしも真実ではないことがわかっています。
詳細は以下の論文にゆずりますが、交絡因子がアウトカムに与える効果の方向が曝露群と非曝露群で異なる時には、誤差のある交絡因子を調整すると逆にバイアスを導入してしまうとのことです。
結局どうするのか?
測定誤差・誤分類が分析結果に様々な影響を与えることをみてきました。
元も子もない話ですが、理想的には誤差の少ない測定をするというのがベストプラクティスですね。
それができたら苦労しないという話ですが、せめて誤差・誤分類がnon-differentialになるように務めることが重要です。
例えば、
- 曝露などの測定をする人が対象者のアウトカムの状態をわからないようにブラインドする
- 曝露の測定をアウトカムが評価されるよりも時間的に前のタイミングで行う
などすることで多少はマシになると思います。
それでもダメで、differential error/misclassificationが生じた時はどうすればよいでしょうか?
2つの方向性があります。
- 感度分析で誤差・誤分類によるバイアスの程度を定量化する
- Validation Studyの結果を用いて推定結果を補正する
感度分析は、誤分類の程度がどの程度についてパラメーターを設定してその仮定のもとで起こりうるバイアスを定量化することで、得られた推定結果がどの程度ロバストかについて考える方法です。
感度分析については先ほど紹介したLash先生らの教科書が良いと思います。
測定誤差・誤分類の影響を補正(bias correction)することで正しい推定結果を得る方法もたくさん開発されています。
ただしこのアプローチをするためには測定誤差・誤分類の程度に関する情報が必要で、そのような情報は真の値(あるいはゴールドスタンダード・正確な方法を用いた測定結果)についてのデータが必要になりますので常に選択可能なオプションではありません。
まとめ
データ分析の話は「どうやってデータを分析するか」という話にフォーカスしがちです。
傾向スコア、IPW、●●回帰、標準誤差をどう正しく計算するか、などなど
もちろんより良い分析方法を探究することは重要ですが、これらはすべて「分析しているデータが適切・質が高い」ことが前提です。
特殊な集団からとられたデータの場合は外的妥当性が限定的になるかもしれませんし、場合によってはバイアスのある分析結果につながります。
自分がみたいものをみれていない(妥当性がない)データをいくら高度な手法を使って解析しても仕方がありません。
測定誤差・誤分類の多いデータを一生懸命解析しても、真実から遠ざかってしまうだけかもしれません。
データ分析の方法・結果の解釈の話をする際に、「そもそも分析しているデータはどうなの?」という視点を加えるとより実践的な意味のある議論ができそうですね。