R Generalised Linear Model (GLM) --2-- 指数家族 和 GLM定义

指数家族

为什么要说指数家族?

回顾likelihood,它给出了一种获取模型参数点估计的方法(MLE) ,模型是一堆PDF/PMF的joint, 而指数家族,就是一些经典常见的 PDF/PMF 。

简单线性模型假设数据和响应变量之间是正态分布的关系,这个正态分布 就是 指数家族的一员。 GLM 在lm的基础上进行扩展, 不再要求 “数据和响应变量之间是正态分布” 的关系, 而是要求 “数据和响应变量之间的关系是指数家族中的某一种” 即可。

指数家族的公共形式

指数家族提供了一种公共形式,只要某种概率分布 属于 指数家族 ,那么它就可以被写成这种形式。

它看起来非常的数学,但它是很有必要的,它提供了一个公共形式,也就是说它使得 glm在计算机程序里函数化变得统一可行。

我个人认为了解即可,没必要记下指数家族公共形式,以及怎么将一些概率分布变形成 指数家族公共形式,除非你要参加相关闭卷考试,不然需要的时候查查资料推导一下即可.....

 常见指数家族成员

接下来我会描述几个常见的 指数家族成员,以及它们是怎么变形成指数家族公共形式的。

理解和记忆 几个常见的指数家族成员 是很有必要的,因为这涉及到我们数据分析过程中模型参数的选择,调优等,这无疑是一个比较高手工经验要求的过程。

1 Gaussian(normal)高斯/正态分布

 

mean = μ,决定了分布的位置;variance = δ^2,尺度参数, 决定了分布的幅度。

2 Binomial 二项分布 , (e.g. Logistic regression)

N次独立重复实验发生k次的概率 , mean = np   ,var = n*p*(1-p)

下面这个公式 揭示了 二项分布是互补的  

3 Poisson, 泊松分布

 

泊松分布适合于描述单位时间内随机事件发生的次数 (positive count data)的概率分布。 mean = variance = λ

4 Exponential  指数分布

指数分布是一种连续概率分布。指数分布可以用来表示独立随机事件发生的时间间隔,比如旅客进入机场的时间间隔、打进客服中心电话的时间间隔、中文维基百科新条目出现的时间间隔等等。指数函数的一个重要特征是无记忆性Memoryless Property 。mean = 1/λ   variance = 1/λ^2

5  Gamma

Y~Gamma(α , β)    

 

 

mean = α/ λ variance = α/ λ^2

将它们变形成指数家族公共形式 (了解即可):

GLM定义

定义

先给出标准定义

我的理解

GLM是 lm 的扩展,参考 lm 4 大数据限制要求 :

  1. Linearity: The relationship between X and the mean of Y is linear. 
  2. Homoscedasticity: The variance of residual is the same for any value of X. 
  3. Independence: Observations are independent of each other. 
  4. Normality: For any fixed value of X, Y is normally distributed. 

GLM 仍然要求 限制3,independent random sample, 这是 likelihood 理论的基础假设;

不再要求限制4 ,因为我们不再强求 预测变量和响应变量是正态分布的关系,而是只要满足指数家族即可;

不再要求限制2,因为不再要求正态分布,正态分布的恒定方差自然也不再要求;

不再要求限制1,因为我们引入了 link function 连接函数 的概念。

GLM即: 响应变量遵循某种指数家族定义的概率分布,这个概率分布的参数,是由预测变量的线性形式,再套上连接函数组成的。

参考我们介绍likelihood 时引入的 鱼的例子 ,它的GLM模型如下图 : 鱼的逃脱数量(响应变量) 遵循二项分布,二项分布的参数,即逃脱率(πi),是由 鱼的长度 (预测变量)的线性形式,再加上 link function 转换 形成的  。

这个GLM模型 有两个未知参数,即 beta0 和 beta 1.  可以用MLE 求出。

link function 

“响应变量遵循某种指数家族定义的概率分布”,这个我们已经充分解释了。

“预测变量的线性形式” ,其存在的目的也不用多说,

“再套上连接函数” , 问题来了,我们为什么要套上这个 连接函数呢? 以及,连接函数是什么?

连接函数是什么?

连接函数有很多种,上面 鱼的例子 ,

二项分布,(它也有被叫做 logistic regression) 中我们使用的是 logit ,它能把负无穷到正无穷的数转换到 [0,1]的区间   ,logit  是 二项分布的 canonical link (标准/默认连接函数)

正态分布的  canonical link 是  identity , 我们其实没什么特别的限制,所以直接是:

泊松分布的 canonical link 是  log ,  因为我们的理想的参数是 λ >0(根据泊松定义) ,如果用 identity 可能是负值

 

其他的还有一些,我就不介绍了。

 

为什么要套上这个 连接函数?

1 我们希望模型 make sense 。

参考鱼的例子,我们会发现  二项分布的参数,即逃脱率(πi)理应是个正数,更具体点说它应该是个 [0,1]之间的小数,代表概率,如果我们直接使用 :,它的结果区间 是远大于 我们希望它应该在的数据区间的,于是我们加入了 logit 连接函数进行转换,这样它的结果就会更如我们所愿地 落在 我们希望它应该在的数据区间 。 正态。泊松等也是同理。

2 增加 flexibility 。

emm ,增加 flexibility 当然可以通过 1增加 预测变量的高次幂项,2 预测变量s之间的交互等 来实现。

link function 也可以达到这个效果。

canonical link function  标准/默认连接函数 表

一些概率分布的 标准  连接函数 ,其实还蛮好记的,都是有道理的。

  • 正态分布是 indetity ,回想线性模型,方差不谈,均值 可正 可负  。线性模型其实是 GLM 的 一个例子(a Normal distribution with identity link GLM)
  • gamma 是 inverse ,  我暂时不知道为啥
  • Binomial 是 log,因为是概率,所以要把 区间 负无穷,正无穷 用 log  缩放到  0,1;
  • possion 是 log ,是因为要把 它适用于 count positive data,速度参数 λ 理应是正数

​​​​​​​