你在逻辑回归中做线性回归吗?

机器算法验证 物流 多重回归 S形曲线
2022-04-10 01:14:06

两天前我刚刚研究了单线性回归和多元线性回归,现在我正在阅读有关逻辑回归的内容,我想从头开始实现它,我只想知道我对逻辑回归的理解是否正确。

你看我实际上对逻辑回归很困惑,在我对逻辑回归的理解中,我们仍然使用线性回归方程

y^=β^0+β^1x1++β^nxn

所以我认为这里发生的是:

  • 首先找到最佳拟合线,为此我们需要找到 beta 系数,就像多元线性回归一样
  • 找到后β^系数,我们将它们与我们的自变量一起插入 sigmoid 函数以获得预测,
    P(x)=11+e(b0+b1x1+...+bnxn)
    然后就是这样。

是这样完成的吗?还是那错了?还是我们需要先或之后做一些步骤?

2个回答

将逻辑回归比作标准线性回归的最简单方法是使用潜在变量解释逻辑回归模型可以通过考虑可观察到的响应来描述:

Yi=I(Yi>0),

基于不可观察的潜在变量:

Yi=β0+β1xi,1++βmxi,m+εiε1,...εnIID Logistic(0,s).

如您所见,在此模型中,潜在响应变量遵循线性回归模型,其误差项具有逻辑分布我们观察潜在响应变量是否高于零,但我们没有观察它的实际值。出于估计的目的,这体现在估计模型中的系数时存在很大差异。我们不使用 OLS 估计进行估计,因此这不是“就像多元线性回归”。尽管如此,我们确实得到了估计的系数,这确实得到了响应结果的条件概率的估计函数,所以肯定有相似之处。

不,不是这样的。引用我的另一个答案

逻辑回归可以描述为线性组合

η=β0+β1X1+...+βkXk

通过链接函数传递g

g(E(Y))=η

其中链接函数是一个logit函数

E(Y|X,β)=p=logit1(η)

如您所见,线性预测器η=Xβ 等于条件均值y,但您需要先使用 logit链接函数的倒数对其进行转换 g1(η). 如果您只是运行线性回归,您将忽略线性预测变量发生转换的事实。

您可以自己轻松地验证这一点,对相同的数据运行线性回归和逻辑回归。如果使用线性回归就足够了,你应该得到相同的回归参数。正如您从下面的示例中看到的那样,情况并非如此。

> lm(vs~mpg+cyl, data=mtcars)

Call:
lm(formula = vs ~ mpg + cyl, data = mtcars)

Coefficients:
(Intercept)          mpg          cyl  
   2.164638    -0.008217    -0.252454 

> glm(vs~mpg+cyl, family=binomial, data=mtcars)

Call:  glm(formula = vs ~ mpg + cyl, family = binomial, data = mtcars)

Coefficients:
(Intercept)          mpg          cyl  
    15.9714      -0.1633      -2.1482  

Degrees of Freedom: 31 Total (i.e. Null);  29 Residual
Null Deviance:      43.86 
Residual Deviance: 17.49    AIC: 23.49

逻辑回归通过使用最大化似然函数的优化算法进行拟合似然函数根据伯努利分布定义:

L(β|y;X)=ig1(Xiβ)yi(1g1(Xiβ))1yi

通常使用IRLS 算法来寻找这个函数的最大值,但你可能会忽略这个事实,在没有这些知识的情况下过上幸福的生活。