1

いくつかのカテゴリ変数と連続変数を混ぜ合わせて回帰を行っています。私の質問を単純化するために、運転マイルのあるさまざまなゾーンで特定のドライバーに与えられた運転時間を予測する回帰モデルを作成したいと考えています。つまり、トレーニング データに 5 つの異なるドライバーと 2 つのゾーンがあるとします。

予測のために 5*2=10 の回帰モデルを構築する必要があることはわかっています。私がRで使っているのは

m <- lm(driving_time ~ factor(driver)+factor(zone)+miles)

しかし、Rは組み合わせを消費しないようです。私の問題は、R で自動的に拡張を行うスマートな方法があるかどうかです。または、10 個の回帰モデルを 1 つずつ作成する必要があります。ありがとうございました。

4

1 に答える 1

1

読んでください?formula+は、その変数を主効果として含めることを意味します。driverとの間の相互作用項を探しているようですzone:演算子を使用して相互作用項を作成します。*オペレーターを介してメイン効果と相互作用効果の両方を得るためのショートカットもあります。

対話もしたいかどうかについては多少の混乱がありますがmiles、2 x 5 の用語しか言及していないため、ここではそうではないと仮定します。

foo <- transform(foo, driver = factor(driver), zone = factor(zone))
m <- lm(driving_time ~ driver * zone + miles, data = foo)

ここでは、データが data frame にあると仮定しますfoo最初の行は、フィッティングの前に対象の変数を因子に変換することにより、モデル仕様/フィッティングからデータ処理を分離します。

次に、式は の主効果とインタラクティブ効果を指定しdriverzoneさらに の主効果を指定しmilesます。

3 つすべての相互作用が必要な場合は、次のようにします。

m <- lm(driving_time ~ driver * zone * miles, data = foo)

また

m <- lm(driving_time ~ (driver + zone + miles)^3, data = foo)

あなたのためにそれをします。

于 2013-02-27T16:30:59.103 に答える