隐变量模型初探
【摘要】隐变量模型常用于揭示计量或统计数据中的一些无法被直接观测到的规律或现象。例如:揭示不同原因导致的异质性、解释可观测变量中的误差构成等。
【作者】Francesco Bartolucci,意大利佩鲁贾大学
【原文】http://www.econ.upf.edu/~michael/latentvariables/
0 引言
在本部分中,我们专注于能够创建高维数据的可解释表示的模型:隐变量模型。
问题提出
隐变量模型假设观测到的数据 x \boldsymbol{x} x 是由某些底层的潜在因素 z \boldsymbol{z} z (通常是低维的)导致,并且通常 z \boldsymbol{z} z 代表了世界的某种 “真实” 状态。至关重要的是,这些潜在因素被认为对模型的最终用户有意义 (也就是说,评估此类模型需要领域专业知识)。我们的目的是通过对可观测数据 x \boldsymbol{x} x 的处理,得到潜在因素 z \boldsymbol{z} z 的底层作用机理, 进而能够给可观测数据的生成作出一个合理的解释。这种反向建模方法广泛用于科学和工程中,其中 z \boldsymbol{z} z 代表了自然界中待估计的潜在状态,而 x \boldsymbol{x} x 只是这种 “真实” 状态的某种含噪声表现或部分表现。
这种反向建模方法可以抽象为:
z ^ ( x ) = argmax z p ( z ∣ x ) = argmax z log p ( z ) + log p ( x ∣ z ) \hat{\boldsymbol{z}}(\boldsymbol{x}) = \underset{\boldsymbol{z}}{\operatorname{argmax}} p(\boldsymbol{z} \mid \boldsymbol{x}) = \underset{\boldsymbol{z}}{\operatorname{argmax}} \log p(\boldsymbol{z}) + \log p(\boldsymbol{x}|\boldsymbol{z})
z ^ ( x ) = z argmax p ( z ∣ x ) = z argmax log p ( z ) + log p ( x ∣ z )
常见场景
场景1:同时知道先验 p ( z ∣ θ ) p(\boldsymbol{z} \mid \boldsymbol{\theta}) p ( z ∣ θ ) 和似然 p ( x ∣ z , θ ) p(\boldsymbol{x} \mid \boldsymbol{z},\boldsymbol{\theta}) p ( x ∣ z , θ ) (即模型参数 θ \boldsymbol{\theta} θ 已知),只需解决 z \boldsymbol{z} z 的推断问题。
场景2:但更常见的是,模型参数 θ \boldsymbol{\theta} θ 也(部分)未知,需要从可观测样本 d = { x n : n = 1 : n } d = \{\boldsymbol{x}_n: \quad n = 1:n\} d = { x n : n = 1 : n } 中推断出来。
场景3:模型本身的结构(即似然也未知)甚至也是未知的,需要通过学习得到。
主要知识板块
包含以下板块:
隐因子模型( Latent Factor Models,LFM )
混合物模型( Mixture Model )
因子分析 ( Factor Analysis )
非高斯先验的隐因子模型 ( LFM with Non-Gaussian Prior )
主题模型( Topics Model )
独立组份分析 (Independent Componets Analysis,ICA )
状态空间模型( Status-space Models,SSM )
隐马尔可夫模型( Hidden Markov Models,HMM )
线性动态系统( Linear Dynamatics System,LDS )
切换线性动态系统 (Switching Linear Dynamatics System, SLDS)
非线性状态空间模型(Non-linear SSMs )
非高斯状态空间模型(Non-Guassian SSMs)
结构化时间序列模型 (Structural Time Series Models, STS)
深度状态空间模型( Deep SSMs)
图学习(结构学习)
非参数贝叶斯模型(随机过程)
高斯过程(Guassian Process)
狄利克雷过程(Dirichlet Processes)
狄利克雷过程混合物模型(Dirichlet Processes Mixture Models)
广义狄利克雷过程(Generalization of Dirichlet Process)
印度自助餐过程与贝塔过程
冲击和强化点过程(泊松过程、霍克斯过程、吉布斯点过程、确定性点过程)
表示学习(神经网络)
监督表示学习与迁移
生成式表示学习
子监督表示学习
多视角表示学习
可解释性
在 隐因子模型 中,讨论了一些简单的隐变量模型,此类模型中的可观测数据大多是固定维数的向量,例如 x ∈ R D \boldsymbol{x} \in \mathbb{R}^D x ∈ R D 。
在第 29章 中,讨论了序列数据的隐变量模型,即 x = x 1 : t \boldsymbol{x} = \boldsymbol{x}_{1:t} x = x 1 : t ,例如语音、视频、基因组数据等。通常这些模型中包含非线性部分。另外,此类模型可以拓展至时空应用场景。
在第 31 章中,我们讨论了非参数贝叶斯模型,这使我们能够对模型的更多方面实施不确定性表达,例如隐藏状态数量、模型结构、功能依赖性的形式等。所学表示的复杂性可以动态增长,具体取决于数据的数量和质量(是否是信息性的)。这在执行发现任务时非常重要,并帮助我们在保持可解释性同时,具有一定灵活性。
在第 32 章中,我们讨论如何使用神经网络来学习表示。这可以用隐变量建模来解决,但也可以使用多种其他估计方法。
在第 33 章中,我们讨论如何解释所学(预测)模型的行为。
graph LR
All[隐变量模型]---discreteResponse[离散型响应变量]
All[隐变量模型]---continousResponse[连续型响应变量]
discreteResponse---discreteLatentD[离散型隐变量]
discreteResponse---continousLatentD[连续型隐变量]
continousResponse---discreteLatentC[离散型隐变量]
continousResponse---continousLatentC[连续型隐变量]
discreteLatentD---hasCovariatesDDH[含私有协变量]
discreteLatentD---noCovariatesDDN[不含私有协变量]
continousLatentD---hasCovariatesDCH[含私有协变量]
continousLatentD---noCovariatesDCN[不含私有协变量]
discreteLatentC---hasCovariatesCDH[含私有协变量]
discreteLatentC---noCovariatesCDN[不含私有协变量]
continousLatentC---hasCovariatesCCH[含私有协变量]
continousLatentC---noCovariatesCCN[不含私有协变量]
1 隐变量及隐变量模型
1.1 隐变量及其意义
隐变量:指不能被直接观测到的变量,在隐变量模型背景下,通常被假设为会给响应变量带来影响。隐变量在很多类型的计量/统计数据模型中都存在,用于达到如下目的:
用于表示不可观测的协变量(或因子)带来的效应,并用之解释被观测主体之间 不可观测的异质性 ( 隐变量通常被用来表示不可观测因子的变化效应 ,主要指连续型隐变量 )
用于解释 测量误差 ( 隐变量通常被用来表示 “真实值” ,而显变量则被用于表示 “带误差的版本”,主要指连续型隐变量 )
用于对同一不可观测特征(如生活质量)的不同测量值进行汇总,以便根据汇总信息对样本点进行排序或聚类 ( 隐变量用于区分不同的汇总特性,主要指离散型隐变量 )
隐变量的两种类型:
反应性隐变量:会导致其他变量产生变化的隐变量,其主要用于揭示产生多个显变量之间关系(如协方差矩阵)的底层结构。隐变量通常是底层结构中因果关系的某种代理。如果不明确地解释,通常所说的隐变量均指反应性隐变量。
生成性隐变量:因其他变量的协变导致的结果。
名词解释:
响应变量(Response Variables) :也称 **因变量(Dependent Variables)**或 结果变量(Outcome Variables) ,指那些变化取决于其他变量的变量。响应变量通常与解释变量(自变量)相关。简而言之,响应变量是在实验中变化的主体,通常是解释变量的差异导致的结果 。
解释变量(Explanatory Variables) :也称 自变量(Independent Variables) 或 预测变量(Predictor Variables) ,是决定响应变量发生变化的原因。当解释变量均为定量类型(连续的或离散的)时,其模型通常被称为 回归模型(Regression Model) ;当解释变量均为定性类型(指示变量)时,其模型通常被称为方差分析模型(Analysis of Variance Model) ;当解释变量中既有定性又有定量数据时,其模型通常被称为 协方差模型分析(Analysis of Covariance Model)
协变量(Covariables) :特指不受实验控制的解释变量。例如某些实验中的解释变量(如温度、气压)可控,但某些解释变量(如性别比例、年龄等)不可控,则后者被称为协变量。
显变量(Manifest Variables) :泛指所有 可观测变量(Observable Variables) ,可能是响应变量也可能是协变量。
隐变量(Latent Variables) : 泛指所有无法被观测到的变量,它可能会影响显变量或其他隐变量,以及它们之间的底层结构。
指示变量(Indicator Variables) :当隐变量没有定量概念,只有定性概念时也被称为 指示变量( Indicator Variables ) 或 虚拟变量(Dummy Variables) ,如用 0 , 1 \\{0,1\\} 0 , 1 来表示性别,用 1 , 2 , 3 , 4 , 5 \\{1,2,3,4,5\\} 1 , 2 , 3 , 4 , 5 来表示物种类别。
反应性隐变量和生成性隐变量的路径图
1.2 隐变量模型及其分类方法
隐变量模型现在有非常广泛的应用,特别是在 重复观测数据 、面板数据(或纵向数据) 、** Multilevel 数据** 等情况下。这些模型通常按照如下性质进行分类:
根据响应变量的性质(离散或连续)
根据隐变量的性质(离散或连续)
是否包含私有的协变量
下表根据响应变量和隐变量的类型,列出了比较常见的几种隐变量模型(未区分是否含私有协变量)。
隐变量\响应变量
离散型
连续型
离散型
Latent Class Model
Finite Mixture Model
连续型
Mixed Model
Latent Factor Analysis
2 一些著名的隐变量模型
概念解释
(1)协变量(covariates) 或 干预前(pretreatment)变量
协变量是指不受实验设计控制或者不受干预变量影响的变量。例如,某实验研究化肥对水稻产量的影响,温度、光照等是实验可以控制的,所以此类变量就不是协变量。再例如,研究培训对收入的影响,性别、民族等个体属性,以及培训前的收入水平、经济社会发展特征等,都是协变量,因为这些变量不受培训这一实验的影响。
(2)纵向数据(Longitudinal Data) 和 面板数据(Panel Data)
纵向数据是统计学术语,而面板数据是计量学术语,两者均指多个观测单元在不同时间重复性测量获取的数据,并且在大多数情况下是同义词。但两者之间实际存在着区别:纵向数据在不同时间的观测单元有可能不一致,而面板数据则要求不同时间的观测单元保持一致,从这一点出发,面板数据是纵向数据的一种特殊情况,面板数据一定是纵向数据,但纵向数据不一定是面板数据。
因子分析模型( Factor Analysis Model ) :多元统计中的基本工具,通过少量(连续)隐特征来汇总若干(连续)测量;模型中通常不包含协变量。
项目反应理论模型( Item Reponse Theory models, IRT ) :一种分析测试或问卷反应的方法,其目的是提高测量的准确性和可靠性。如果您希望测试能够真正衡量它应该衡量的内容(例如:数学能力、学生的阅读能力、历史知识等),那么 IRT 会是一种开发测试的好方法。最重要的 IRT 模型是由 Rasch (1961) 提出的;该模型中通常不包含协变量。
广义线性混合模型( Generalized Linear Mixed Models ) :响应为连续型变量或定类变量的广义线性模型的一种扩展,用于解释不可观测的异质性;该模型通常不受可观测协变量的影响。广义线性混合模型也被称为 随机效应模型 ( Random-effects Models ) 。
有限混合物模型( Finite Mixture Model ) :模型假设观测主体来自于具有不同响应变量分布的亚种群;该模型通常会排除协变量。
隐类别模型( Latent Class Model ) :隐变量为离散型变量、响应变量为定类变量的模型,隐变量的级别对应于总体中的隐类别;通常会排除协变量。
有限混合物回归模型( Finite Mixture Regression Model ) :有限混合物(或隐类别模型)的特殊版本,该模型中包含能够影响响应变量条件分布和(/或)影响隐变量分布的可观测协变量。该模型也被称为 隐回归模型( Latent Regression Model )
纵向/面板数据的状态空间模型( Models for Longitudinal/Panel Data Based on State-Space Formulation ) :假设响应变量(定类型或连续型)依赖于由连续型隐变量构成的潜在过程。
隐马尔可夫模型 ( Latent Markov Models ) :服务于纵向数据的模型,假设响应变量依赖于不可观测的马尔可夫链( 例如:时间序列的隐藏马尔可夫模型 );该模型可以采用不同方式包含协变量。
隐增长/曲线模型 ( Latent Growth/Curve Models ) :建立在随机效应形式上的模型,用于根据纵向数据来研究现象随时间的演变规律;该模型通常排除协变量。
3 一些通用表达形式
3.1 处理的主要应用场景
在同一场景下观测到的不同响应变量(例如:项目反应)。
同一响应变量在一连串场景下的重复观测(纵向/面板数据);这也与 Multilevel 的情况有关,此时主体的观测采集自多个亚种群。
3.2 基本符号
n n n :样本点的数量。
l l l :隐变量的数量。
T T T :每个被观测主体中响应变量的数量。
y i \boldsymbol{y}_{i} y i :第 i i i 个被观测主体的所有响应变量构成的向量。
y i t y_{it} y i t :第 i i i 个被观测对象的第 t t t 个响应变量。
X i \boldsymbol{X}_{i} X i :第 i i i 个观测对象的 T T T 个响应变量对应的所有协变量构成的协变量矩阵(每一个响应变量对应一个协变量列向量)。
x i t \boldsymbol{x}_{it} x i t :第 i i i 个观测对象的第 t t t 个响应变量对应的协变量列。
μ i \boldsymbol{\mu}_i μ i : 第 i i i 个观测对象的 T T T 个响应变量对应的所有隐变量构成的隐变量向量。
隐变量模型定义了 :
响应向量 y i = ( y i 0 , … , y i T ) T \boldsymbol{y}_i = (y_{i0},\ldots,y_{iT} )^T y i = ( y i 0 , … , y i T ) T 在给定协变量矩阵(可能没有) X i = ( x i 1 , … , x i T ) \mathbf{X}_i = (\boldsymbol{x}_{i1},\ldots,\boldsymbol{x}_{iT}) X i = ( x i 1 , … , x i T ) 和隐变量向量 u i = ( u i 1 , … , u i l ) T \boldsymbol{u}_i = (u_{i1},\ldots,u_{il})^T u i = ( u i 1 , … , u i l ) T 时的条件分布 p ( y i ∣ μ i , X i ) p(\boldsymbol{y}_i \mid \boldsymbol{\mu}_i, \boldsymbol{X}_i ) p ( y i ∣ μ i , X i ) 。
3.3 主要关注点
给定协变量 X i \mathbf{X}_i X i 和隐变量 u i \boldsymbol{u}_i u i 时,响应变量的条件分布( 测量模型或预测模型 ):p ( y i ∣ u i , X i ) p(\boldsymbol{y}_i|\boldsymbol{u}_i,\boldsymbol{X}_i) p ( y i ∣ u i , X i )
给定协变量 X i \mathbf{X}_i X i 时,隐变量的先验分布(隐模型):p ( u i ∣ X i ) p(\boldsymbol{u}_i|\boldsymbol{X}_i) p ( u i ∣ X i )
给定协变量 X i \mathbf{X}_i X i 和数据时,隐变量的后验分布(推断):p ( u i ∣ X i , y i ) p(\boldsymbol{u}_i|\boldsymbol{X}_i,\boldsymbol{y}_i) p ( u i ∣ X i , y i )
3.4 局部独立性假设
当响应变量的数量 T > 1 T > 1 T > 1 时,一个关键假设是局部独立性假设,即 y i \boldsymbol{y}_i y i 中的 T T T 个响应变量之间相对于 X i \boldsymbol{X}_i X i 和 u i \boldsymbol{u}_i u i 条件独立。
3.5 显变量的边缘分布
响应变量的边缘分布(显变量分布)可以通过对隐变量的分布做积分获得:
p ( y i ∣ X i ) = ∫ p ( y i ∣ u i , X i ) p ( u i ∣ X i ) d u i p\left(\boldsymbol{y}_i \mid \boldsymbol{X}_i\right)=\int p\left(\boldsymbol{y}_i \mid \boldsymbol{u}_i, \boldsymbol{X}_i\right) p\left(\boldsymbol{u}_i \mid \boldsymbol{X}_i\right) d \boldsymbol{u}_i
p ( y i ∣ X i ) = ∫ p ( y i ∣ u i , X i ) p ( u i ∣ X i ) d u i
对于离散型隐变量:可以使用离散型隐变量显式计算上式中的分布,只需将积分变为求和
对于连续型隐变量:积分可能难以计算,需要采用蒙特卡罗方法
3.6 隐变量的后验分布
给定数据时,隐变量的条件分布(即后验分布)由下式定义:
p ( u i ∣ X i , y i ) = p ( y i ∣ u i , X i ) p ( u i ∣ X i ) p ( y i ∣ X i ) p\left(\boldsymbol{u}_i \mid \boldsymbol{X}_i, \boldsymbol{y}_i\right)=\frac{p\left(\boldsymbol{y}_i \mid \boldsymbol{u}_i, \boldsymbol{X}_i\right) p\left(\boldsymbol{u}_i \mid \boldsymbol{X}_i\right)}{p\left(\boldsymbol{y}_i \mid \boldsymbol{X}_i\right)}
p ( u i ∣ X i , y i ) = p ( y i ∣ X i ) p ( y i ∣ u i , X i ) p ( u i ∣ X i )
4 离散型隐变量模型
4.1 有限混合物模型)
( 1 )隐变量
每个隐变量 u i \boldsymbol{u}_i u i 都有一个离散分布,该分布有 k k k 个支撑点 ξ 1 , … , ξ k \boldsymbol{\xi}_{1}, \ldots, \boldsymbol{\xi}_{k} ξ 1 , … , ξ k ,以及与之相对应的概率 π 1 ( X i ) , … , π k ( X i ) \pi_1\left(\boldsymbol{X}_i\right), \ldots, \pi_k\left(\boldsymbol{X}_i\right) π 1 ( X i ) , … , π k ( X i ) ( 可能依赖于协变量 )
( 2 )显变量分布:
p ( y i ) = ∑ c π c p ( y i ∣ u i = ξ c ) ,没有协变量时 p\left( \boldsymbol{y}_i \right)=\sum\limits_c \pi_c p\left(\boldsymbol{y}_i \mid \boldsymbol{u}_i = \boldsymbol{\xi}_c \right) ,没有协变量时
p ( y i ) = c ∑ π c p ( y i ∣ u i = ξ c ) ,没有协变量时
p ( y i ∣ X i ) = ∑ c π c ( X i ) p ( y i ∣ u i = ξ c , X i ) ,有协变量时 p\left(\boldsymbol{y}_i \mid \boldsymbol{X}_i\right )=\sum_c \pi_c\left(\boldsymbol{X}_i\right) p\left(\boldsymbol{y}_i \mid \boldsymbol{u}_i = \boldsymbol{\xi}_c, \boldsymbol{X}_i\right) ,有协变量时
p ( y i ∣ X i ) = c ∑ π c ( X i ) p ( y i ∣ u i = ξ c , X i ) ,有协变量时
( 3 )模型参数
超参数:
模型参数:
与隐变量支撑点的概率密度 p ( y i ∣ u i = ξ c ) p\left(\boldsymbol{y}_i \mid \boldsymbol{u}_i = \boldsymbol{\xi}_c \right) p ( y i ∣ u i = ξ c ) 相关的参数
每个支撑点对应的质量概率(即权重) π c \pi_c π c
所有支撑点概率密度函数共同的参数,例如同方差假设时的方差。
4.2 案例:同方差正态分布的有限混合物模型
( 1 )隐变量: 仅有一个含 k k k 个支撑点的隐变量 ( l = 1 l = 1 l = 1 )。每个支撑点 ξ c \boldsymbol{\xi}_c ξ c 对应的一个高斯密度函数,其均值参数为 μ c \boldsymbol{\mu}_c μ c ,方差参数假设为已知,并用一个公共的协方差矩阵 Σ \Sigma Σ 来表示。
( 2 )协变量: 无。
( 3 )响应变量: 一个响应变量。参考上述通用表达形式为多个亚种群的混合。
p ( y i ) = ∑ c π c ϕ ( y i ; μ c , ∑ ) p(\boldsymbol{y}_i) = \sum\limits_c \pi_c \phi(\boldsymbol{y}_i; \mu_c,\sum)
p ( y i ) = c ∑ π c ϕ ( y i ; μ c , ∑ )
其中 ϕ ( y ; μ , ∑ ) \phi(\boldsymbol{y}; \mu,\sum) ϕ ( y ; μ , ∑ ) 为多元高斯分布的密度函数,其均值为 μ \mu μ 、协方差矩阵为 Σ \Sigma Σ 。
练习
写出该模型在单隐变量情况下的概率密度( 要求支撑点数为 k = 2 k = 2 k = 2 ),并在不同参数值情况下表示它,。
5 连续型隐变量模型
5.1 广义线性混合模型
( 1 )一个隐变量的情况
只有一个隐变量 ( l = 1 ) (l=1) ( l = 1 ) 时,显变量分布中涉及的积分近似为求和(求积法):
p ( y i ∣ X i ) ≈ ∑ c π c p ( y i ∣ u i = ξ c , X i ) p\left(\boldsymbol{y}_i \mid \boldsymbol{X}_i\right) \approx \sum_c \pi_c p\left(\boldsymbol{y}_i \mid u_i=\boldsymbol{\xi}_c, \boldsymbol{X}_i\right)
p ( y i ∣ X i ) ≈ c ∑ π c p ( y i ∣ u i = ξ c , X i )
此时支撑点 ξ c \boldsymbol{\xi}_c ξ c 及其权重 π c \pi_c π c 预先固定;通常几个支撑点就可以获得足够的近似。
( 2 )多个隐变量的情况
具有更多隐变量 ( l > 1 ) (l>1) ( l > 1 ) 时,求积法可能难以实现且不精确,蒙特卡洛方法更可取,其中积分利用 u i \boldsymbol{u}_i u i 的分布的随机样本,以均值方式做近似。
5.2 例:含随机效应的逻辑斯谛回归模型
( 1 )隐变量
只有一个隐变量 u i u_i u i ( 即 l = 1 ) l= 1) l = 1 ) ),且该隐变量服从均值为 μ \mu μ 、方差为 σ 2 \sigma^2 σ 2 的正态分布。
( 2 )响应变量
在给定协变量时,响应变量的分布为(满足局部独立性假设):
p ( y i t ∣ u i , X i ) = p ( y i t ∣ u i , x i t ) = exp [ y i t ( u i + x i t ′ β ) ] 1 + exp ( u i + x i t ′ β ) p\left(y_{i t} \mid u_i, \boldsymbol{X}_i\right)=p\left(y_{i t} \mid u_i, \boldsymbol{x}_{i t}\right)=\frac{\exp \left[y_{i t}\left(u_i+\boldsymbol{x}_{i t}^{\prime} \boldsymbol{\beta}\right)\right]}{1+\exp \left(u_i+\boldsymbol{x}_{i t}^{\prime} \boldsymbol{\beta}\right)}
p ( y i t ∣ u i , X i ) = p ( y i t ∣ u i , x i t ) = 1 + exp ( u i + x i t ′ β ) exp [ y i t ( u i + x i t ′ β ) ]
(3)显变量分布
该模型的显变量分布为:
p ( y i ∣ X i ) = ∫ [ ∏ t p ( y i t ∣ u i , x i t ) ] ϕ ( u i ; μ , σ 2 ) d u i p\left(\boldsymbol{y}_i \mid \boldsymbol{X}_i\right)=\int\left[\prod_t p\left(y_{i t} \mid u_i, \boldsymbol{x}_{i t}\right)\right] \phi\left(u_i ; \mu, \sigma^2\right) d u_i
p ( y i ∣ X i ) = ∫ [ t ∏ p ( y i t ∣ u i , x i t ) ] ϕ ( u i ; μ , σ 2 ) d u i
根据逻辑斯谛回归模型,概率密度函数重写为:
p ( y i t ∣ u i , x i t ) = exp ( u i σ + x i t ′ β ) 1 + exp ( u i σ + x i t ′ β ) , p\left(y_{i t} \mid u_i, \boldsymbol{x}_{i t}\right)=\frac{\exp \left(u_i \sigma+\boldsymbol{x}_{i t}^{\prime} \boldsymbol{\beta}\right)}{1+\exp \left(u_i \sigma+\boldsymbol{x}_{i t}^{\prime} \boldsymbol{\beta}\right)},
p ( y i t ∣ u i , x i t ) = 1 + exp ( u i σ + x i t ′ β ) exp ( u i σ + x i t ′ β ) ,
其中 u i ∼ N ( 0 , 1 ) u_i \sim N(0,1) u i ∼ N ( 0 , 1 ) ,并且 μ \mu μ 被吸收入截距 β \boldsymbol{\beta} β 中。
最终的显变量分布可以采用如下公式计算:
p ( y i ∣ X i ) = ∑ c π c ∏ t p ( y i t ∣ u i = ξ c , ξ t ) p\left(\boldsymbol{y}_i \mid \boldsymbol{X}_i\right)=\sum_c \pi_c \prod_t p\left(y_{it} \mid u_i=\boldsymbol{\xi}_c, \boldsymbol{\xi}_t\right)
p ( y i ∣ X i ) = c ∑ π c t ∏ p ( y i t ∣ u i = ξ c , ξ t )
其中:
ξ 1 , … , ξ k \xi_1, \ldots, \xi_k ξ 1 , … , ξ k : 支撑点的网格,例如,在 -5 和 +5 之间
π 1 , … , π k \pi_1, \ldots, \pi_k π 1 , … , π k :质量概率(权重),π c = ϕ ( ξ c ; 0 , 1 ) ∑ d ϕ ( ξ d ; 0 , 1 ) \pi_c=\frac{\phi\left(\xi_c ; 0,1\right)}{\sum_d \phi\left(\xi_d ; 0,1\right)} π c = ∑ d ϕ ( ξ d ; 0 , 1 ) ϕ ( ξ c ; 0 , 1 )
练习
实现一个计算显变量分布的函数,要求响应变量数 T = 1 T=1 T = 1 、协变量数为 1 1 1 ;可以尝试不同的 μ \mu μ 和 σ 2 \sigma^2 σ 2 值
6 最大似然估计的期望最大化(EM)算法
6.1 基础框架
(1)完全数据与不完全数据
期望最大化算法(EM)是在存在缺失数据时进行最大似然估计的通用方法(Dempster et al., 1977, JRSS-B)。在隐变量模型背景下,缺失数据对应于隐变量,并且:
不完全数据(仅可观测数据):协变量和响应变量 ( X , Y ) (\boldsymbol{X}, \boldsymbol{Y}) ( X , Y )
完全数据(含不可观测数据):不完全数据 + 隐变量 ( U , X , Y ) (\boldsymbol{U}, \boldsymbol{X}, \boldsymbol{Y}) ( U , X , Y )
(2)似然函数
此时,相应的对数似然函数分别是:
ℓ ( θ ) = ∑ i log p ( y i ∣ X i ) \ell(\boldsymbol{\theta})=\sum_i \log p\left(\boldsymbol{y}_i \mid \boldsymbol{X}_i\right)
ℓ ( θ ) = i ∑ log p ( y i ∣ X i )
ℓ ∗ ( θ ) = ∑ i log [ p ( y i ∣ u i , X i ) p ( u i ∣ X i ) ] \ell^*(\boldsymbol{\theta})=\sum_i \log \left[p\left(\boldsymbol{y}_i \mid \boldsymbol{u}_i, \boldsymbol{X}_i\right) p\left(\boldsymbol{u}_i \mid \boldsymbol{X}_i\right)\right]
ℓ ∗ ( θ ) = i ∑ log [ p ( y i ∣ u i , X i ) p ( u i ∣ X i ) ]
(3)算法框架
EM 算法通过交替执行两个步骤来实现似然 ℓ ( θ ) \ell(\boldsymbol{\theta}) ℓ ( θ ) 的最大化,直到收敛(h h h 表示第几次迭代):
E-step :计算给定上一次迭代的参数值 θ ( h − 1 ) \boldsymbol{\theta}^{(h-1)} θ ( h − 1 ) 和观测数据后的似然 ℓ ⋆ ( θ ) \ell^\star(\boldsymbol{\theta}) ℓ ⋆ ( θ ) 的期望值:
Q ( θ ∣ θ ( h − 1 ) ) = E [ ℓ ∗ ( θ ) ∣ X , Y , θ ( h − 1 ) ] Q\left(\boldsymbol{\theta} \mid \boldsymbol{\theta}^{(h-1)}\right)=E\left[\ell^*(\boldsymbol{\theta}) \mid \boldsymbol{X}, \boldsymbol{Y}, \boldsymbol{\theta}^{(h-1)}\right]
Q ( θ ∣ θ ( h − 1 ) ) = E [ ℓ ∗ ( θ ) ∣ X , Y , θ ( h − 1 ) ]
M-step :相对于 θ \boldsymbol{\theta} θ 来最大化期望 Q ( θ ∣ θ ( h − 1 ) ) Q\left(\boldsymbol{\theta} \mid \boldsymbol{\theta}^{(h-1)}\right) Q ( θ ∣ θ ( h − 1 ) ) ,得到本次迭代的参数值 θ ( h ) \boldsymbol{\theta}^{(h)} θ ( h )
收敛性检查 :基于差值做收敛性检查
ℓ ( θ ( h ) ) − ℓ ( θ ( h − 1 ) ) or ∥ θ ( h ) − θ ( h − 1 ) ∥ \ell\left(\boldsymbol{\theta}^{(h)}\right)-\ell\left(\boldsymbol{\theta}^{(h-1)}\right) \text { or } \\
\quad\left\|\boldsymbol{\theta}^{(h)}-\boldsymbol{\theta}^{(h-1)}\right\|
ℓ ( θ ( h ) ) − ℓ ( θ ( h − 1 ) ) or θ ( h ) − θ ( h − 1 )
此算法通常较 Newton-Raphson 算法更容易实现,但通常也更慢。
6.2 离散型隐变量的 EM 算法
(1)基本思路
为了方便,引入虚拟变量 z i c , i = 1 , … , n z_{ic}, i=1, \ldots, n z i c , i = 1 , … , n , c = 1 , … , k c=1, \ldots, k c = 1 , … , k ,
z i c = { 1 if u i = ξ c 0 otherwise z_{i c}=
\begin{cases}
1 & \text { if } \boldsymbol{u}_i=\boldsymbol{\xi}_c \\
0 & \text { otherwise }
\end{cases}
z i c = { 1 0 if u i = ξ c otherwise
对数似然的计算可以被表示为:
ℓ ∗ ( θ ) = ∑ i ∑ c z i c log [ π c ( X i ) p ( y i ∣ u i = ξ c , X i ) ] \ell^*(\boldsymbol{\theta})=\sum_i \sum_c z_{i c} \log \left[\pi_c\left(\boldsymbol{X}_i\right) p\left(\boldsymbol{y}_i \mid \boldsymbol{u}_i=\boldsymbol{\xi}_c, \boldsymbol{X}_i\right)\right]
ℓ ∗ ( θ ) = i ∑ c ∑ z i c log [ π c ( X i ) p ( y i ∣ u i = ξ c , X i ) ]
因此,响应变量的条件期望计算为:
Q ( θ ∣ θ ( h − 1 ) ) = ∑ i ∑ c z ^ i c log [ π c ( X i ) p ( y i ∣ u i = ξ c , X i ) ] Q\left(\boldsymbol{\theta} \mid \boldsymbol{\theta}^{(h-1)}\right)=\sum_i \sum_c \hat{z}_{i c} \log \left[\pi_c\left(\boldsymbol{X}_i\right) p\left(\boldsymbol{y}_i \mid \boldsymbol{u}_i=\boldsymbol{\xi}_c, \boldsymbol{X}_i\right)\right]
Q ( θ ∣ θ ( h − 1 ) ) = i ∑ c ∑ z ^ i c log [ π c ( X i ) p ( y i ∣ u i = ξ c , X i ) ]
其中,z ^ i c \hat{z}_{i c} z ^ i c 表示 u i = ξ c \boldsymbol{u}_i=\boldsymbol{\xi}_c u i = ξ c 时的后验期望值,可以计算为:
z ^ i c = p ( z i c = 1 ∣ X , Y , θ ^ ( h − 1 ) ) = π c ( X i ) p ( y i ∣ u i = ξ c , X i ) ∑ d π d ( X i ) p ( y i ∣ u i = ξ d , X i ) \hat{z}_{i c}=p\left(z_{i c}=1 \mid \boldsymbol{X}, \boldsymbol{Y}, \hat{\boldsymbol{\theta}}^{(h-1)}\right)=\frac{\pi_c\left(\boldsymbol{X}_i\right) p\left(\boldsymbol{y}_i \mid \boldsymbol{u}_i=\boldsymbol{\xi}_c, \boldsymbol{X}_i\right)}{\sum_d \pi_d\left(\boldsymbol{X}_i\right) p\left(\boldsymbol{y}_i \mid \boldsymbol{u}_i=\boldsymbol{\xi}_d, \boldsymbol{X}_i\right)}
z ^ i c = p ( z i c = 1 ∣ X , Y , θ ^ ( h − 1 ) ) = ∑ d π d ( X i ) p ( y i ∣ u i = ξ d , X i ) π c ( X i ) p ( y i ∣ u i = ξ c , X i )
(2)算法调整
此时的 EM 算法相对于一般情况来说更容易实现了,其实现步骤变为:
E-step : 为每一个 i i i 和 c c c 计算期望值 z ^ i c \hat{z}_{i c} z ^ i c ;
M-step : 关于 θ \boldsymbol{\theta} θ 做期望 Q ( θ ∣ θ ( h − 1 ) ) Q\left(\boldsymbol{\theta} \mid \boldsymbol{\theta}^{(h-1)}\right) Q ( θ ∣ θ ( h − 1 ) ) 最大化,得到 θ ( h ) \boldsymbol{\theta}^{(h)} θ ( h ) 。
当面临含连续型隐变量的模型,且采用求积法计算显变量分布的情况时,可以采用与之前类似的算法作为 Newton-Raphson 算法的替代。
练习
针对具有同方差正态分布的有限混合物模型,展示如何实现类似算法(尝试使用模拟数据)
6.3 案例:隐类别模型
隐类别模型是响应变量为定类变量(典型为二分类),且只有一个离散型隐变量的一类模型。
在隐类别模型中,对于隐变量的每个值级 ξ c \boldsymbol{\xi}_c ξ c ,都有 y i t y_{it} y i t 的特定条件分布。
练习
6.4 案例:隐回归模型
在隐回归模型版本中,允许质量概率(每个 y i t y_{it} y i t 的条件分布)取决于私有的协变量(例如多项 logit 参数化)
包含私有协变量有两种可能的选择:
( 1 ) 包含在测量模型中,以便我们能够有随机的截距(通过一个 logit 或 probit 参数化):
λ i t c = p ( y i t = 1 ∣ u i = ξ c , X i ) log λ i t c 1 − λ i t c = ξ c + x i t ′ β , i = 1 , … , n , t = 1 , … , T , c = 1 , … , \begin{align*}
&\lambda_{i t c}=p\left(y_{i t}=1 \mid u_i=\boldsymbol{\xi}_c, \boldsymbol{X}_i\right) \\
&\log \frac{\lambda_{i t c}}{1-\lambda_{i t c}}=\boldsymbol{\xi}_c+\boldsymbol{x}_{it}^{\prime} \boldsymbol{\beta}, \quad i=1, \ldots, n, t=1, \ldots, T, c=1, \ldots,
\end{align*}
λ i t c = p ( y i t = 1 ∣ u i = ξ c , X i ) log 1 − λ i t c λ i t c = ξ c + x i t ′ β , i = 1 , … , n , t = 1 , … , T , c = 1 , … ,
( 2 ) 包含在隐变量分布的模型中(通过一个多项 logit 参数化):
π i c = p ( u i = ξ c ∣ X i ) , log π i c π i 1 = x i t ′ β c , c = 2 , … , k \begin{align*}
\pi_{i c} &= p\left(u_i=\boldsymbol{\xi}_c \mid \boldsymbol{X}_i\right), \\
\log \frac{\pi_{i c}}{\pi_{i 1}} &= \boldsymbol{x}_{it}^{\prime} \boldsymbol{\beta}_c, \quad c=2, \ldots, k
\end{align*}
π i c log π i 1 π i c = p ( u i = ξ c ∣ X i ) , = x i t ′ β c , c = 2 , … , k
定序型响应变量或有序隐类别的模型可以采取替代的参数化形式。两个扩展模型有着不同的解释:
只有 EM 算法的 M 步必须要做改动,可以利用下面两种情况的最大化标准算法:
一个 logit 模型的加权似然
一个多项 logit 模型的似然
练习