如何手动计算逻辑回归中的截距和系数

机器算法验证 回归 机器学习 物流 最大似然
2022-03-08 04:43:41

我目前正在研究逻辑回归。但我被困在计算截距(β0) 和系数 (β1)。我一直在网上找它,但只能获得使用Microsoft Excel或R中的内置函数的教程。我听说它可以通过最大似然法解决,但我不明白如何使用它,因为我不知道没有统计背景。谁能给我一个简短的解释和模拟来手动计算系数?

2个回答

不幸的是,与线性回归不同,逻辑回归的最大似然估计没有简单的公式。您必须执行某种优化算法,例如梯度下降迭代重新加权最小二乘法

我想提出我的方法,希望对您有所帮助。

要手动计算系数,您必须有一些数据,或者说约束。在逻辑回归中,实际上是通过最大熵和拉格朗日乘数来定义逻辑函数,这个约束必须与其他两个满足: Epfj=Ep^fj. 也就是说,模型的期望应该与观察到的期望相匹配,这在本文中已经进行了说明这就是逻辑回归中作为链接函数的 logit 函数也称为均值函数的原因。

举个例子,下面的交叉表显示了荣誉班中有多少男性/女性。

           |         female
       hon |      male     female |     Total  
-----------+----------------------+----------
         0 |        74         77 |       151 
         1 |        17         32 |        49 
-----------+----------------------+----------
     Total |        91        109 |       200

正如刚才提到的iyixij=ipixij持有。左侧(LHS)是观测值(样本中的y)的期望值,右侧(RHS)是模型的期望值。

假设函数是log(p1p)=β0+β1xi或等效地p=11+e(β0+β1xi)(xi表示观察是女性的特征,如果观察是女性则为1,否则为0),显然我们知道以下两个等式分别成立X=1什么时候X=0上面显示的数据:

32109=11+e(β0+β11)

1791=11+e(β0+β10)

所以拦截(β0) 为 -1.47 且系数 (β1) 为 0.593。您可以手动获取它。

同样,如果给出足够的数据,您可以手动计算其他逻辑回归模型的系数(它也适用于 softmax 回归,但它超出了这个问题的范围)。

我希望我是对的,如果不是请告诉我。谢谢。