机器学习无监督学习方法及应用分析报告.docx

上传人:b****5 文档编号:6340647 上传时间:2023-01-05 格式:DOCX 页数:21 大小:3.23MB
下载 相关 举报
机器学习无监督学习方法及应用分析报告.docx_第1页
第1页 / 共21页
机器学习无监督学习方法及应用分析报告.docx_第2页
第2页 / 共21页
机器学习无监督学习方法及应用分析报告.docx_第3页
第3页 / 共21页
机器学习无监督学习方法及应用分析报告.docx_第4页
第4页 / 共21页
机器学习无监督学习方法及应用分析报告.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

机器学习无监督学习方法及应用分析报告.docx

《机器学习无监督学习方法及应用分析报告.docx》由会员分享,可在线阅读,更多相关《机器学习无监督学习方法及应用分析报告.docx(21页珍藏版)》请在冰豆网上搜索。

机器学习无监督学习方法及应用分析报告.docx

机器学习无监督学习方法及应用分析报告

 

 

(此文档为word格式,可任意修改编辑!

 

2017年12月

 

正文目录

无监督学习方法的简介5

无监督学习方法的原理5

降维方法:

因子分析和主成分分析法5

主成分分析(PCA)7

聚类方法:

K-Means聚类分析10

无监督学习方法在金融上的应用11

降维方法12

主成分分析法应用实例12

因子分析的应用实例14

聚类方法17

聚类方法的比较和评价17

聚类方法的应用实例20

挖掘样本数据特征20

聚类的可视化24

总结26

 

图目录

图1:

机器学习/人工智能方法介绍4

图2:

因子旋转与可解释性6

图3:

Barra多因素模型及可用到的降维方法12

图4:

主成分分析组合收益13

图5:

因子分析选股策略净值15

图6:

因子分析选股与单因子选股16

图7:

K-Means和DBSCAN在双环分布聚类上的比较19

图8:

沪深300成分股聚类(时间序列上的变化)21

图9:

沪深300成分股聚类(不同聚类类别数下的变化)22

图10:

K-Means聚类组合收益23

图11:

Ward分层聚类的可视化25

 

表目录

表1:

主成分分析组合分年表现14

表2:

因子载荷矩阵15

表3:

因子分析组合分年表现16

表4:

聚类效果评价指标20

表5:

聚类分析组合年化收益24

表6:

Ward分层聚类部分结果展示25

在机器学习白皮书系列的第一篇报告中,我们对于机器学习算法做了梳理,将机器学习/人工智能算法分为了监督学习、无监督学习、深度学习及其他,第一篇报告主要介绍了监督学习的算法及应用实例,通过将样本数据截取出部分作为训练期,在训练期中明确输入指标(X)及对应的标签(Y),在对应输出标签的“监督”下来选择合适的参数是监督学习的主要特征。

监督学习的学习目标可分为两类,也就是回归问题和分类问题。

图1:

机器学习/人工智能方法介绍

惩罚回归模型中金融领域使用得较多的有Lasso回归、岭回归和弹性网络回归;具有代表性的非参数回归模型则有:

K最近邻、LOESS及卡尔曼滤波器。

同时,也用到两个实例来说明了惩罚回归模型在拟合中的优势,以及卡尔曼滤波器使用时对于趋势判断、状态分辨的灵敏性。

分类算法包括逻辑回归、支持向量机(SVM)、决策树、随机森林以及隐马尔可夫模型。

前面四种模型我们给出具体的择时和选股上的实例,使用决策树进行指数周度择时效果较为突出。

隐马尔科夫模型我们则是验证其对于国内A股市场的状态划分是否有效,但是其月度市场状态划分效果不明显。

本篇报告将进行无监督学习方法的介绍,区别与监督学习,无监督学习是指在不区分输入指标和对应标签,通过直接输入全部样本的情况下学习数据集的分布特征,无监督学习方法包括分布估计、因子分析、主成分分析、聚类分析、关联规则和GooglePageRank算法等。

无监督学习方法的简介

无监督学习的模型众多,本文主要就两类常用方法:

聚类和降维进行介绍。

图1中分别列举了聚类和降维两种类别下对应的部分模型。

我们将选取文中实例中使用到的模型进行详细介绍和推导。

降维方法顾名思义就是在众多变量或指标中提取具有代表性的特征,主要包括因子分析、主成分分析、独立成分分析等。

以主成分分析为例,主成分分析方法旨在识别数据的主要驱动因素或确定最具代表性的因子组合。

例如,收益率曲线变动可以通过收益的平行移动、曲线的陡度变化和曲线的凸度来描述。

在多资产组合中,主成分分析可以识别出如动量、价值、波动性、流动性等主要驱动因素。

聚类分析方法基于相似性概念将数据集再划分成较小的组,在金融领域,可以应用于识别波动率、利率等的高、低的状态,而准确的状态识别对不同资产及不同风险溢价的配置具有重要意义。

无监督学习方法的原理

降维和聚类的方法多种多样,理论模型部分我们将不做过多介绍,主要就我们给出应用实例时使用到的模型做详细说明。

降维方法:

因子分析和主成分分析法

因子分析

因子分析是一种常用的统计学变量降维和特征重建方法,模型为:

共因子上的载荷矩阵,ej为随机误差项。

一般地,该模型假设公共因子个数m小于原始变量维数p,也就是实现变量降维;其次,公共因子之间不相关,在正态分布下等价于独立,这有助于风险的分解;同时还会假设随机误差项与公共因子不相关。

因子分析得以被广泛使用,一方面是因为它能降维整合信息,也可视为去噪;另一方面,因子模型可通过旋转变换调整公共因子和载荷矩阵,进而通过各变量在单个因子上的载荷大小实现对公共因子的合理解释,这在实证分析中尤为重要。

举一个简单的例子,用2维公共因子张成10个变量,对应的102维因子载荷矩阵散点分布图如图2所示。

图2:

因子旋转与可解释性

(如左图所示)原始因子1可通过X,X,X,X意义综合解释,因为这些变量在因子1上的载荷远大于在因子2上的载荷;

(如左图所示)原始因子2无法得到合理的解释,因为没有变量在该因子的载荷能远大于在另一个因子的载荷;

(如右图所示)通过旋转使得变量在两个因子的载荷差异尽量大,此时得到的因子1可结合X,X,X来解释,因子2可结合X,X,X来解释。

主成分分析(PCA)

主成分分析与因子分析类似,通过使用较低维度变量提取相关性较强变量中的信息,是处理变量共线性和充分提取数据信息的有效手段之一。

PCA方法最著名的应用是在人脸识别中特征提取及数据维度的降低。

假设仅输入100*100维的人脸图像,提取它的灰度值作为原始特征,则这个原始特征将达到10000维,这给后面分类器的处理将带来极大的难度。

著名的人脸识别Eigenfaces算法就是采用PCA算法,用一个低维子空间描述人脸图像,同时保存了识别所需要的信息。

关于Eigenfaces算法的具体过程可以参考MatthewTurk和AlexPentland的论文《EigenfacesforRecognition》。

本质上来看PCA是KL变换处理离散情况的算法,是KL变换的一种应用形式。

因此下面先介绍KL变换。

离散KL变换是一种常用的特征提取方法,用于实现最小均方误差下的最优正交变换,对于向量,假设其可以用确定的完备正交归一向量系数展开,则有:

即当取向量的q个最大特征值所对应的特征向量为基向量来展开x时,其用于估计x的均方误差最小,为。

以上变换形式适用于PCA,在实际应用PCA时,对于给定随机变量x1,,xp,其主成分方向及主成分的定义为:

结合KL变换,可以将主成分方向解释为:

对于未标准化随机变量,第k个主成分方向为协方差矩阵第k个特征值对应的特征向量,第k个主成分的方差为该特征向量对应的特征值;

对于标准化过后的随机变量,第k个主成分方向为相关系数矩阵第k个特征值对应的特征向量,第k个主成分的方差为该特征向量对应的特征值。

因此,实际使用过程中,数据标准化是主成分分析的重要过程,在变量方差近似相同时,我们可直接使用原始数据进行主成分分析,但是若数据数量级差异较大则会对结果产生一定影响。

主成分分析常与因子分析混淆起来,但它们之间存在本质不同。

区别如下:

1)主成分分析旨在提取原始变量内部最大可能的变动方向,得到方差最大的原始变量线性组合;因子分析则用因子的线性组合近似原始变量;

2)因子分析有明确的模型形式表达,而主成分分析不能形成有效的模型表达;

3)因子分析中的估计的因子会随因子数目发生变化,而主成分分析得到的主成分并不会随主成分数目选取变化;

4)因子模型具有旋转不变性,因此可通过旋转得到合理解释;主成分旋转会改变其原始定义,且很难得到明确的解释意义。

聚类方法:

K-Means聚类分析

聚类分析将对象集合分组或分割成子集或集群,使集群内部有较高的相似性,而集群之间相似度较低。

聚类分析也用于形成描述性统计以确定数据是否包含不同的子组,观察每一子组数据的特征,集中对特定的聚簇集合作进一步地分析。

聚类方法众多,包括K-Means、沃德(Ward)层次聚类、综合层次聚类算法、聚集聚类算法、基于密度的聚类算法(DBSCAN)、AP聚类算法、谱聚类算法、小批量法等。

在此就K-Means聚类算法做详细说明。

K-Means算法是一种典型的硬聚类算法,通常以欧式距离作为相似度测度,将距离相对靠近的对象组成簇,目标是得到紧凑且尽量独立的簇。

1)选择k个初始中心点(随机生成或者通过算法来筛选);

2)对于集合D中每一个数据点分别与中心点比较计算Cost,记录Cost最小时每个数据点对应的中心点,中心点和距离其相对较近的数据点组成簇;

3)对一个簇,计算簇中所有点的均值并将均值作为新的聚类中心然后重复上面步骤,直到每个聚类稳定不再发生变化。

K-Means之所以成为最常用的聚类算法之一在于其在处理大数据集的高效率,算法快速,逻辑也十分清晰。

K-Means算法的主要局限性在于:

1)、需要事先给定类别数k和初始中心点,并且这两个参数对于最后分类结果影响较大;2)、对于样本点集合有形态上的要求,在数据呈圆形或高维球形时才能有效划分。

无监督学习方法在金融上的应用

降维的思想和因子分析方法在金融上最经典的应用莫过于Barra多因素模型,在BIM301中详细介绍了模型的构建原理,Barra的做法是将不同地区不同资产类型综合到一个大框架之下,从底层到上层一步步进行降维和整合。

Barra的传统模型是将资产分为权益类(一般指股票)、固定收益类和货币类(在跨国家或地区时使用)。

从市场的微观角度有一系列指标可以刻画这几类资产的走势,例如股票的价量指标、流通市值、PE、PB等,固定收益类有利率期限结构、债券评级、个券违约风险等,这些指标之间本身存在相关性,因此首先是从众多微观指标到资产层面上的风险因子的降维。

在大类资产的维度,又可以将不同国家或地区同类资产的因子进行整合,将其影响因素分成两部分:

全球因子(这一部分解释了不同地区相同类型资产的共同影响因素)和区域因子(仅仅影响当地资产走势)。

之后Barra在资产类别中添加了商品、对冲基金,并且针对这些资产单独建立模型,不断完善大类资产配置框架。

不过无论整体框架多么繁杂,其分析逻

辑和应用算法非常清晰明了。

图3:

Barra多因素模型及可用到的降维方法

聚类应用范围也非常广泛,如果运用在选股上最常见的做法是利用若干维度例如股票的估值、ROE、流通市值、行业等对股票进行聚类,将股票类别与股票收益率特征对应起来。

在进行全球资产配置时,由于配置的资产标的丰富,也将聚类方法用于对资产的相关性矩阵进行分层聚类,以用于投资组合风险的分散化。

降维方法

在这一部分用因子分析、主成分分析方法构建简单的选股策略,主要目的是抛砖引玉,提供这两种方法在金融上应用的思路。

主成分分析法应用实例

主成分分析是非常广为人知并且操作起来也比较方便的一种降维方法。

最常见的应用案例是在进行多因子分析时的准备阶段,我们的因子池里面有接近八十多个子类因子,通过PCA可以将众多的因子进行特征抽取,最后将股票收益率归因于具有代表性的8~9个特征之上,然后再结合监督学习例如SVM等进行多因子选股。

我们给出案例是将上面过程简化,选择几个常用指标提取个股在这些指标上的第一主成分,根据提取出来的主成分值进行打分排序。

策略的构建过程如下:

样本时间:

2009年1月到2017年10月;

使用的指标:

21日换手率、252日换手率、beta系数、PB、PE_TTM、净

利润增速季度同比、反转、波动率、流通市值、上月涨跌幅及本月涨跌幅;

组合资产:

沪深300指数成分股;

调仓频率:

月度;

构建方法:

对第一主成分排序打分(排序方向调整到与当期涨跌幅度方向一致),根据排序分成5组,选取前20%(记为top20%)和后20%(记为bottom20%)分别构建等权组合。

图4:

主成分分析组合收益

主成分分析策略的收益率略高于下面的因子分析策略,年化收益率为19.54%,第一组和最后一组的收益率也有明显差异,说明了选取的指标对于股票收益率的解释一定程度上可以由提取出的第一主成分来代表。

不过整体收益率仍然比多因子选股收益率低,也表明了第一主成分中丧失了部分重要信息,这时候就需要在降维和提取的指标解释度之间进行权衡。

表1:

主成分分析组合分年表现

因子分析的应用实例

因子分析用于选股可以基于目前股票市场常用的一些指标如基本面、财务指标、技术指标等,这些指标本身对于股票的收益率具有一定的解释能力,利用因子分析的方法提取它们共同部分可以进行有效降维。

这种选股方式有点类似于多因子选股,我们在第一篇监督学习报告中有用支持向量机(SVM)方法进行多因子选股,中间实际上就存在组合因子数据解释下期收益率的过程。

利用因子分析方法基于的假设是某些指标的共有信息对股票收益率有更好的解释效果。

为了验证这种方法是否有效,本文尝试使用63日换手率、PB、ROE_TTM、净利润增速季度同比、动量、反转和月涨跌幅提取因子构建投资组合。

策略的构建过程如下:

样本时间:

2009年1月到2017年10月;

股票池:

沪深300指数成分股;

调仓频率:

月度;

构建方法:

首先根据上面指标利用因子分析得到两个公共因子;然后计算个股在公共因子上的得分并进行排序(排序方向调整到与当期涨跌幅度方向一

致);根据排序分成5组,选取前20%(记为top20%)和后20%(记为bottom20%)两部分,分别构建等权组合进行比较。

表2:

因子载荷矩阵

我们截取了每年年初所选变量在两个公共因子上的载荷,由于不同变量对于收益率的解释力度不一样,可以看到在公共因子上载荷大小有差距。

并且提取的两个因子相互独立,可以较大程度对变量里的有效信息进行提纯。

图5:

因子分析选股策略净值

从净值曲线上来看,因子分析选股第一组和最后一组的差异比较明显,相比于沪深300也有一定的超额收益,但是整体收益率比起我们使用SVM进行多因子选股时第一组的收益率低不少。

图6:

因子分析选股与单因子选股

在选取的几个指标中,利用单指标进行选股时流通市值的表现较好,因此将因子分析选股方法与市值指标分组选股进行比较,效果好于单指标选股。

表3:

因子分析组合分年表现

分年来看,在市场整体表现较为强势时,因子分析选股策略能够获取一定的超额收益,但是在市场风格发生较大转变,例如17年,与多因子选股一样策略整体收益率比不上指数。

不过值得注意的是在14年和17年排序靠后的20%反而跑赢了大多数时候较为占优的第一组,也表明在实际分析的过程中,由于是按照月份来进行调仓,可以根据每个月的实际情况来选择适合当前市场的组合,进行灵活的操作。

综合上面结果可以看到依赖于因子分析方法构建的选股策略在获取有效的超额收益上不具备太大优势,与贴标签的监督学习方法不同,因子分析为代表的无监督学习还是偏重于线性关系的挖掘,在降维时并未考虑提取因子对目标变量的解释能力,所以有较大可能出现提取信息对于解释目标变量低效的问题。

所以在进行进一步改进时,我们可考虑在因子分析模型中加入公共因子对目标变量的解释模型,它将对有效因子的提取过程进行一定限制,增强得到的因子对目标变量的解释力。

聚类方法

聚类的方法非常多,需要根据分析的数据特征以及期望达到的效果来选择合适的方法。

这一部分将会对常见的聚类方法进行简介,介绍的所有聚类方法以及评价指标都能够在Python的sklearn.cluster模块中找到对应的函数来实现,每种方法对应的参数也均是依据对应函数的要求。

聚类方法的比较和评价

聚类是观察式的学习方式,其分析的结果可以提供多个可能的解,最终解的选择需要研究者的主观判断和后续的分析。

聚类方法可以划分为层次聚类、谱聚类等。

下面介绍一下几种典型的聚类方法:

沃德(Ward)层次聚类是与K-Means类似的分层聚类方法,所不同的是它使用树状图来进行样本点的聚类,并且适用于样本量较大聚类类别数较多的情况。

综合层次聚类算法(BIRCH)是为比较庞大的数据库设计的分层聚类方法,基于特征树进行聚类,主要参数有四个,重要参数用于调整树结构。

它可以逐步聚类实时流数据,因此在许多情况下,只需要单遍扫描数据集就能进行聚类。

集聚聚类算法(AgglomerativeClustering)是另一种层次聚类方法,开始时将每个点作为聚类中心,然后将点合并成一个聚类类别。

和Ward层次聚类中分析每个聚类内的离差平方和所不同的是,该方法分析所有聚类的观测值之间的离差均值。

近邻传播算法(AffinityPropagation)即AP算法基于数据点间的信息传递来形成聚类。

将每个点都看作是潜在的聚类中心点,然后将两两数据点之间连线构成一个网络,通过不断迭代更新网络中各条边的消息来达到最终收敛确定聚类。

该算法可以有效的发现大量的子类。

用到的参数有阻尼系数和参考度(perference),通过调整参考度可以间接控制聚类数量。

谱聚类算法(SpectralClustering)和AP算法相似,它也在点之间传递信息,但不识别每个聚类的中心点,该算法需要指定聚类的数目,通过计算样本之间的关联矩阵,映射到低维空间中,然后运用K-Means来确定聚类,这种方法在聚类的数量较少的情况下效果较好。

小批量法(MiniBatchK-Means)为了减少处理时间,使用K-Means算法处理小批量数据。

与K-Means方法不同的是,只对每个新的批次更新聚类的中心点,而不是每个新的点。

MiniBatch通常会比K-Means收敛速度更快,但是效果可能略差。

基于密度的聚类算法(DBSCAN)主要目标是区分被低密度区域分离的高密度区域。

不同于基于距离的K-Means算法,DBSCAN可以发现任意形状的聚类,并且能够排除奇异点的影响。

最为重要的两个参数为eps和minsamples,分别用来控制样本分到聚类类别的距离阈值和类别中最小样本点个数。

综合上述关于聚类算法的介绍,我们可以看到不同聚类方法的聚类准则和适用场景有所区别。

以DBSCAN和K-Means这两种聚类方法为例,在分类样本形态呈环形时,DBSCAN将样本聚成内环和外环两类,解释性较强;K-Means在K=2时将样本切分成左右平面,解释性相对较弱,且聚类结果不稳定(可能以任意直径方向切分)。

因此,给定数据集,分析数据集的结构并选取合适的聚类方法将对聚类效果的影响较大。

图7:

K-Means和DBSCAN在双环分布聚类上的比较

合适的聚类方法的选择也可以从聚类效果出发,有一系列指标可以用于评价聚类效果。

评价指标可以分为两类,第一类是当数据点存在可比照的聚类标签时,例如我们对个股收益率聚类,此时已知的个股行业分类就可以作为比照对象,用于评价聚类结果与行业分类是否一致。

对于已知标签yi的数据,我们假设ˆi为它对应的聚类标签预测。

第二类是数据点没有贴标签,此时只是单纯分析聚类是不是达到尽可能区分差异性的目的。

下表列举了常用的一些聚类效果评价指标。

表4:

聚类效果评价指标

聚类方法的应用实例

挖掘样本数据特征

聚类方法与机器学习中监督学习主要区别在于,其是一种探索性的分析方法,即通过模型挖掘出样本数据的特征,进而展示基于样本数据分出的不同聚类群体的差异及聚类群体在时间序列上的变化。

图8反应了聚类结果在时间序列上的变化,选取的样本数据是沪深300指数成分股,根据股票的两个重要特征:

流通市值和波动率进行聚类。

对比2009-08-31,2010-08-31,2016-08-31和2017-08-31四个时期聚成五类的效果,上下两组图的对比明显,在2009年市值相对较大的组别里面,个股的波动率分布也比较均匀,分出了中、低波动率类别;在2017年市值相对最大的一组只对应低波动率特征。

以市值大小来划分股票的话,体现了几年下来,不同市值个股对应的波动率水平的变化。

图8:

沪深300成分股聚类(时间序列上的变化)

某些聚类算法如DBSCAN不需要提供聚类类别数,算法会根据数据特征来确定合适的类别数,选定不同的类别数决定了对数据分析时能够刻画出的特征。

本文选取2017年9月的沪深300成分股,仍然是基于波动率和流通市值两个指标使用K-Means进行聚类,分别设置聚类类别数K=2,3,4,5,比较聚类结果。

图9:

沪深300成分股聚类(不同聚类类别数下的变化)

由于流通市值和波动率本身具有较强的相关性,当K=2时,基本上等同于根据波动率高低进行划分;当K=3时,在市值相对较低的类别里,依据波动率特征划分出了高波动率组和低波动率组;可以看到在一定范围内选择的聚类类别越多时,得到的聚类结果使用到的特征越多,分出来的结果也更细致。

聚类分析可以作为构建策略前的预处理,在金融领域分析很多问题时会用到情景分析的方法,就是根据重要变量预先设置好情景,在不同情景下采取不同的策略,这是一种较主观的分类方式。

选准变量和模型,使用聚类方法也可以达到类似效果。

下面就举一个简单例子来说明使用聚类方法之后,在不同类别里面选股的效果。

首先选取252日换手率和流通市值两个变量,使用K-Means算法进行聚类。

为了类中心解释的稳定性和每个类别中数据点尽量充足,选择K=2,将股票分为两类。

然后基于前一部分主成分分析提取特征的有效性验证,分别提取两个聚类中个股的第一主成分,并按照主成分的值进行打分构建四种投资组合。

提取主成分的原始变量为:

21日换手率、beta系数、PB、PE_TTM、ROE_TTM、反转、流通市值、上月涨跌幅、本月涨跌幅。

策略的构建过程如下:

样本时间:

2009年1月到2017年10月;

组合资产:

当期沪深300指数成分股;

调仓频率:

月度;

构建方法:

使用K-Means将个股聚为两类,提取每个类别中个股的第一主成分值,进行排序打分(排序方向调整到与当期涨跌幅度正相关);根据排序分

成5组,选取排序前20%(记为top20%)和后20%(记为bottom20%)构建组合。

在两个类别里面,市值相对较小的一组选股的效果更好,我们在下图中也将市值相对较大一组排序前20%的股票组合(top20%_第2组)的净值曲线以虚线列出。

比较可以看出,通过流通市值和换手率将股票进行分组,不同组别里面用相同的指标选股的效果有差异。

图10:

K-Means聚类组合收益

分年来看,效果和直接使用PCA相比略有改善,说明了使用聚类算法做预处理的方式在提高组合收益率上有一定程度的效果。

不过在沪深300内的选股本身样本池中股票数量就比较少,限制了分类的类别数,也造成效果提升幅度不大。

建议在全市场采取聚类方式后再进行选股,不仅会缩小我们的选股范围,我们也可以在分出的不同特征的股票池内找出不同的适用选股指标,做到更精细化。

表5:

聚类分析组合年化收益

除了在选股上的应用,在进行基金研究时也可引入聚类方法,我们在进行基金分类的时候会发现依据基金的名称或者基金的比较基准并不能对基金进行准确分类,这个时候可以利用基金的阶段收益率数据进行聚类分析,能够更合理的根据基金投资组合特征找出相似基金,然后进行类内基金比较筛选。

聚类的可视化

可视化是聚类分析的重要组成部分。

下面的例子是根据沪深300成分股从2008年到2017年月度收益率的相关性使用Ward层次聚类得到的结果,左侧的纵轴代表几年下来个股涨跌情况(红色代表上涨,蓝色代表下跌),右侧的纵轴代表相关性高低的颜色分布。

图11:

Ward分层聚类的可视化

如果我们组合中涉及到多种资产也可以用上面的聚类方法来分析资产相关性,以尽量分散组合风险。

下表中列举出根据上面层次聚类方法得到的部分聚类类别中的个股数。

表6:

Ward分层聚类部分结果展示

除了上面热力图的形式,当资产数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1