異なる予測子を持つグループのマルチレベルモデル
マルチレベルモデルを製品に適合させようとしていて、製品タイプごとにグループ化したいとします。
製品タイプにすべて同じ予測子がある場合、これは簡単です。たとえば、売上に対する色の影響などを見積もることができます。
しかし、一部の予測子が一部の製品タイプに対してのみ意味がある場合はどうなるでしょうか。「脚の長さ」機能のように、人々が自分のショーツが好きな膝の上下の距離を好む場合、ショーツには意味がありますが、常にフルレングスのパンツには意味がありません。また、シャツの場合は脚の長さがまったくないため、あまり意味がない場合があります。
その場合、それを処理する方法はありますか、それともグループごとに異なるモデルを用意するのが最善ですか?共有され、同じディストリビューションから引き出されることが期待される機能については、そこではいくつかの利点が失われると思います。そのため、モデルを単一のモデルとして実行できるかどうか疑問に思っています。
私はいくつかのことを考えました(たとえば、機能を持たない製品、定数値、または機能が意味をなす製品からの機能値の分布から引き出されたランダムな値など) )しかし、すべてに非常に明白な問題があるようです。
回答
平均値を引くことによってすべての予測子を中央に配置する場合、これを行うためのかなり賢明な方法があります。
あなたの例を使用して、あなたがアスレチックショーツ、ショーツ、ジーンズを持っていて、数値予測子がa)明るさ(すべてのカテゴリで定義)、およびb)短い長さ(ショーツのみ、NA
ズボンで定義)であるとします。ここで、両方の数値予測子を中央に配置すると、a)アイテムが平均よりも暗いか明るいか、b)ショーツが平均よりも短いか長いかを測定できます。あなたはズボンが$\pm0$平均よりもcm短いまたは長いため、ショートではない(平均よりも短くも長くもない)すべてのアイテムについて、この予測子に値0を代入します。その後、通常どおりにマルチレベルに適合させ、すべての予測子をカテゴリ間で変化させることができます。
lmer(sales ~ 1 + centred_colour + centred_leg_length +
(1 + centred_colour + centred_leg_length | category),
data=sales_data)
この予測子はショーツの種類によってのみ異なるため、これらのアイテムの販売のみがこのパラメーターに影響します。他のすべての製品では0に設定されているため、この予測子はそれらに関する推論や予測に影響を与えません。
データにショートのカテゴリが1つしかない場合、それを変量効果として含めることができない場合は、それに応じてモデルを変更する必要があります。
lmer(sales ~ 1 + centred_colour + centred_leg_length +
(1 + centred_colour | category),
data=sales_data)
製品に機能がない(つまり、脚がない)場合は0、この機能がある場合は1のダミー変数を作成してみてください。次に、このダミー変数を係数に変換します。
ダミーに機能がない場合は、欠落している値をゼロに置き換えます。
次に、モデルで、対象の連続変数をダミー因子変数と相互作用させます。ダミー因子変数も追加します。
注:なぜこれが機能するのか(または一般的なケースでは機能しないのか)、より知識のある人から読んでうれしいです。