6

予測変数の値を指定する方法を探しています。現在のデータでglmを実行すると、変数の1つの係数が1に近くなります。.8に設定したいのですが。

これによりR^2値が低くなることはわかっていますが、モデルの予測力が大きくなることは事前にわかっています。

glmの重みコンポーネントは有望に見えますが、私はまだそれを理解していません。

どんな助けでも大歓迎です。

4

1 に答える 1

9

offset私はあなたがで議論を探していると信じていますglm。したがって、たとえば、次のようなことを行うことができます。

glm(y ~ x1, offset = x2,...)

この場合、の係数はx21に設定されます。あなたの場合、その列に0.8を掛けたいと思うかもしれません。

拡大するために、これが議論?glmについて言うことです:offset

これを使用して、フィッティング中に線形予測子に含まれる事前に既知のコンポーネントを指定できます。これは、NULLまたはケースの数に等しい長さの数値ベクトルである必要があります。代わりに、または同様に1つ以上のオフセット項を式に含めることができ、複数が指定されている場合は、それらの合計が使用されます。model.offsetを参照してください。

offset()したがって、関数を使用してモデル式自体にオフセットを追加することもできます。これは、その使用法を示す簡単な例です。

set.seed(123)

d <- data.frame(y = factor(sample(0:1,size = 100,replace = TRUE)),x1 = runif(100),x2 = runif(100))

glm1 <- glm(y~x1+x2,data = d,family = binomial)
coef(glm1)

(Intercept)          x1          x2 
  0.4307718  -0.4128541  -0.6994810 

glm2 <- glm(y~x1,data = d,offset = x2,family = binomial)
coef(glm2)

(Intercept)          x1 
 -0.4963699  -0.2185571 

glm3 <- glm(y~x1+offset(x2),data = d,family = binomial)
coef(glm3)

(Intercept)          x1 
 -0.4963699  -0.2185571 

最後の2つは同じ係数を持っていることに注意してください。

于 2011-11-22T22:58:38.020 に答える