【EZR/R】カテゴリ変数、表記を揃えた後にどう設計するか

【EZR/R】カテゴリ変数、表記を揃えた後にどう設計するか

記事
IT・テクノロジー
前回、「Male」「male」「Male(末尾スペース)」のように、
表記のわずかな違いがカテゴリを分裂させてしまう問題を取り上げました。
データの入力規則やプルダウン化によって、
表記自体はきれいに揃えられます。

ただ、実はここで終わりではありません。
表記が揃った後、そのカテゴリ変数を「予測に使う側(説明変数)」
として解析に投入するときに、もう一段階の設計が必要になります。
今回は、その部分を扱います。

「基準」に何を置くかで、結果の向きが決まる

cat1.png

一番シンプルな例で考えてみます。
「介入あり/介入なし」という2カテゴリの変数を、
結果を予測するための説明変数として、ロジスティック回帰に
投入する場面を想像してください。

EZR/Rの内部では、
このカテゴリは「0」と「1」に置き換えられて計算されます。
このとき、どちらを0(基準)にするかによって、
結果の見え方の向きがまったく変わります。



cat2.png

・2カテゴリの場合

「介入なし=0(基準)」「介入あり=1」とすれば → 
結果は「介入なしと比べて、介入するとどうなるか」という、
自然な向きで出てきます

逆に「介入あり=0(基準)」としてしまうと → 
結果は「介入したことと比べて、介入しないとどうなるか」という、
不自然でねじれた向きになってしまいます

数学的にはどちらでも正しく計算されますが、
「何が知りたかったか」という研究の目的に合っているか
どうかは別問題です。

多くの場合、「何もない・介入していない状態」を基準に置くと、
結果が一番自然に解釈できます。
「そこを起点に、要因を加えるとどう変わるか」を語りたいからです。

・3カテゴリ以上の場合

これが3カテゴリ以上(例:「非喫煙」「過去喫煙」「現在喫煙」)
になっても、根っこの考え方は同じです。

「非喫煙」を基準に置けば、
結果は「非喫煙と比べて、過去喫煙・現在喫煙はどうか」
という形で出てきます。
もし基準が「現在喫煙」になってしまうと、
本来知りたかった向きと逆の結果になってしまいます。

EZR/Rでは、多くの場合
「文字コード順・五十音順で先に来るもの」が自動的に基準に選ばれます。
これは臨床的な意味とは無関係な、機械的なルールです。
そのため、「非喫煙」や「介入なし」といった、
最も基本的な状態を基準として指定し直す、
という一手間が必要になるケースが少なくありません。

カテゴリ分けそのものにも、実は「正解」がない


cat3.png

もう一つ、実務で悩みやすいのが、
そもそもカテゴリをどう区切るか、という問題です。

たとえば喫煙状況ひとつとっても、分け方は一通りではありません。

・「非喫煙/過去喫煙/現在喫煙」という、シンプルな3分類

・過去喫煙をさらに「禁煙してからの年数」で細分化する(直近1年の禁煙者と、10年以上前の禁煙者では、リスクの意味合いが違うため)

・現在喫煙を、喫煙量をもとに「軽度」「ヘビースモーカー」に分ける

どの分け方が正しいかは、
実は統計学が一意に教えてくれるものではありません。
「喫煙の有無が影響するかを知りたい」だけなら、
シンプルな有無の分類で十分です。
一方、「喫煙量が多いほど影響が強まるか」を知りたいなら、
量を反映した細かい指標が必要になります。

つまり、カテゴリ分けは、
研究者が何を明らかにしたいか(リサーチクエスチョン)によって
決まる設計判断であり、後から機械的に決め直せるものではありません。
データを集める前の段階で、
「この研究では、どこまで細かく分ける必要があるか」を考えておくことが、実は解析そのものより重要だったりします。

症例数が極端に少ないカテゴリ、どうする?


cat4.png

もう一つ実務でよく出会う悩みが、
あるカテゴリの症例数が極端に少ない、というケースです。

たとえば既往歴を
「なし」「高血圧」「糖尿病」「心疾患」「その他」の5カテゴリで
集めたところ、「心疾患」が2例しかなかった、というような状況です。

症例数が極端に少ないカテゴリをそのまま解析に投入すると、
そのカテゴリの推定値が非常に不安定になり、
信頼区間が極端に広くなることがあります。こうした場合、

・臨床的に意味が近いカテゴリ同士を統合する(例:「心疾患」を「その他の既往歴あり」にまとめる)

・そもそもその変数を、有無の2カテゴリ(既往歴あり/なし)に単純化する

といった判断が必要になります。どこまで統合してよいかは、
研究の目的や臨床的な意味合いによって変わるため、
機械的なルールだけでは決めきれない部分でもあります。

まとめ


・カテゴリ変数を説明変数として使うとき、「何を基準(0)に置くか」で結果の向きが決まる

・多くの場合、「何もない状態」を基準にすると解釈しやすいが、絶対のルールではない

・カテゴリ分けそのものにも唯一の正解はなく、研究の目的によって適切な分け方が変わる

・症例数が極端に少ないカテゴリは、統合などの検討が必要になることがある

なお、今回扱ったのは「予測に使う側(説明変数)」の基準の話です。
実は、モデルが予測する側(目的変数)にも、似て非なる注意点があります。これは、ロジスティック回帰そのものを扱う回で、改めて取り上げます。

結果が出る前の、地味だけど大事な話でした。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す