广义线性模型(GLMs)扩展了普通线性回归模型,可以分析非正态分布的结果变量以及相应均值的函数。假设第i个观察是一个期望值为

spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_python

的随机变量

spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_数据结构与算法_02

的实现。当用线性模型来学习随机变量Y的时候,我们指明它的期望是K个未知参数以及自变量的线性组合:                                                       

spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_git_03

      这是一个线性回归模型,为了创建一个更加通用的模型,我们引入变量

spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_数据结构与算法_04


spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_git_05


spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_人工智能_06

的关系为:

spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_git_07

       这是一个广义线性模型,

spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_git_05


spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_人工智能_06

有许多可能的关系函数,Logit模型是分类模型中常用的广义线性模型。它归纳或描述一个分类变元和一组预测变元的关系,分类变元可以取二值,也可以取多值,其取值可以是无序的,也可以是有序的。下面我们将分别对这几种情况展开讨论。       假设

spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_git_10

服从logistic分布,将关系函数

spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_python_11

带入上式,我们指定了一个结果是多类别Logit模型。用logit形式表达时,模型指定为:                                                  

spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_数据结构与算法_12

      当总类别数J=2时,等式可以简化为二分模型,Logit模型的累计概率可以写为:

                       

spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_spss广义线性模型调整潜在混杂因素_13

Logit线性模型,通常使用极大似然法来估计回归系数。

       Logit模型即逻辑回归,是一个线性分类模型而不是回归模型。逻辑回归在文献中也称为最大熵分类(MaxEnt) 或者 log-linear classifier。scikit-learn中逻辑回归的实现为 LogisticRegression 类。它可以拟合含L2或者L1正则化项的多类逻辑回归问题。

       以下是用python3实现逻辑回归的小例子。求解可得w00 = -0.16,w01 = -0.35,w02 = 0.4。




spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_python_14

spss广义线性模型调整潜在混杂因素 广义线性回归模型spss_python_15

from sklearn import linear_model
clf = linear_model.LogisticRegression()
clf.fit([[1.2, 1.3], [1.1, 1.4], [1.1, 2.3], [0.8, 1.9]], [0, 0, 1, 1])
print('w0:', clf.intercept_) 
print('wi:', clf.coef_)
print(clf.predict([[0.9, 0.98]]))


逻辑回归


       如果已经建立了logistic回归模型,则可以根据模型,预测在不同的自变量情况下,发生某种情况的概率有多大。logistic回归几乎已经成了流行病学和医学中最常用的分析方法,因为它与多重线性回归相比有很多的优势。实际上有很多其他分类方法,只不过Logistic回归是最成功也是应用最广的。