我想在 C++ 中为商业包实现 GLM 模型(即,这不是为了好玩),包括但不限于正态分布、二项分布等。我不太确定实现应该如何工作。比如说,我想在 GLM 框架中实现线性和逻辑模型。
我可以通过求解以下 OLS 系数的矩阵方程来简单地实现线性模型:

但我需要迭代估计逻辑模型的 MLE 系数。
对我来说,实现将类似于:
if (normal in the exponential family)
{
solve the matrix equation listed above
}
else if (logistic in the exponential family)
{
iteratively solve the logistic MLE coefficients
}
else if (poisson in the ....)
{
iteratively solve the poisson MLE coefficients
}
else (.....)
{
other error distributions...
}
GLM 为我们提供了一种概括分布模型的数学方法,但它在计算上没有帮助。这就像将不同模型的遥远家族粘合成一个模型。
统计软件如何实现 GLM 模型?是否有任何开源统计库(不一定在 C++ 中)显示如何做到这一点?是否有任何资源(文章、论文、书籍)展示了 GLM 模型的编写方式?
GLM 模型为我们提供了如何在计算上对族进行泛化?我们是否应该为每个家庭独立编写一个实现?