これらのデータのロジスティック回帰を検討してください:
X1 X2 Y
1  0  0
1  0  1
0  1  0
0  1  0
0  1  0
0  1  1
1  1  1Rは、データの3つの異なる表現を受け入れます。テーブルエントリごとに1行、および2つの圧縮表現(1つは重み付け、1つは成功と失敗)です。私の考えでは、これらの3つの仕様はすべて数学的に同じである必要があります。データは同じ7つの観測値であり、それらは異なる形式でRに提示されます。
data1 <- data.frame(x1=c(1,1,0,0,0,0,1), x2=c(0,0,1,1,1,1,1), y=c(0,1,0,0,0,1,1))
data2 <- data.frame(x1=c(0,1,0,1), x2=c(0,0,1,1), y=c(0,0.5,0.25,1), w=c(0,2,4,1))
data3x <- data.frame(x1=c(0,1,0,1), x2=c(0,0,1,1))
data3y <- cbind(c(0,1,1,1), c(0,1,3,0))
model1 <- glm(y~x1+x2, data=data1, family="binomial")
model2 <- glm(y~x1+x2, data=data2, family="binomial", weight=w)
model3 <- glm(data3y~data3x$x1+data3x$x2, family="binomial")モデル2と3は同じです。しかし、モデル1はモデル2および3とは異なり、同じデータが他のモデル統計とは異なるモデル統計(係数、ヌルおよび残差逸脱)を返す理由を推測することはできません。モデル2と3は、同じデータの異なる表現を使用しています。
これはレッドニシンかもしれませんが、モデル1はモデル2と比較して係数が4単位シフトされています。これは、2の間の(移入された)行数/残りの自由度の違いです。
> model1
Call:  glm(formula = y ~ x1 + x2, family = "binomial", data = data1)
Coefficients:
(Intercept)           x1           x2  
     -19.66        19.66        18.57  
Degrees of Freedom: 6 Total (i.e. Null);  4 Residual
Null Deviance:      9.561 
Residual Deviance: 7.271    AIC: 13.27
> model2
Call:  glm(formula = y ~ x1 + x2, family = "binomial", data = data2, 
    weights = w)
Coefficients:
(Intercept)           x1           x2  
     -23.66        23.66        22.57  
Degrees of Freedom: 2 Total (i.e. Null);  0 Residual
Null Deviance:      2.289 
Residual Deviance: 3.167e-10    AIC: 9.112
[1, 0, .5]応答レベルと2つのを示す2つのレベルの重量を受けるy平均応答として0と1を取ります。ただし、[1,0,.5]表示するデータには応答レベルがありません。