我想了解 Linear.predictors 在
的输出中是如何计算的pb = glm(formula, family = binomial( link = "probit" ), data)
根据我的理解,它应该是观测值(N x k)和估计系数(k x 1)的乘积矩阵,其中N =样本大小,k =变量数量。
我尝试以两种方式手动计算它们:
rowSums(mapply(`*`,pb$model,pb$coefficients))
和
as.matrix(pb$model)%*%as.matrix(pb$coefficients)
对于某些观察,但不是全部,两者都给了我相同的值向量,该向量等于
pb$linear.predictors
。
你能帮我理解它是如何计算的以及我如何手动重现它吗?
如果您查看
pb$model
的输出,您会发现这还包括结果 y
,并且您不想乘以结果来获得预测值。
尝试:
as.matrix(pb$model[, -1])%*%as.matrix(pb$coefficients[-1]) + pb$coefficients[1]
从
pb$model
中删除结果列,并从系数中删除截距。然后将矩阵相乘并重新添加截距。
您也可以将
pb$model
的第一列替换为 1
列,然后乘以 pb$coefficients
。如果您查找线性代数进行回归,这就是遵循矩阵表示法的方法。