机器学习(二)——基本算法

1) 因子分析(FA):

因子分析是将多个实测变量转换为少数几个不相关的综合指标的多元统计方法。它通过研究众多变量之间的内部依赖关系,探求观测数据中的基本结构,并用少数几个假想变量来表示其基本的数据结构。假想变量是不可观测的潜在变量,称为因子。

假定这p个有相关关系的随机变量含有m个彼此独立的因子,可表示为:

机器学习(二)——基本算法

或用矩阵表示为 X=AF+ε

F1, F2, …, Fm 称为公共因子,是不可观测的变量,它们的系数称为因子载荷,A称为因子载荷矩阵。ε是特殊因子,是不能包含在公共因子的部分。

需要满足:

m≤ p,即公共因子数不超过原变量个数

公共因子之间互不相关,且每个Fi方差为1,即F的协方差矩阵为I

公共因子和特殊因子之间彼此互不相关,即Cov(F,ε)=0

特殊因子之间彼此互不相关,但方差不一定相同,记εI的方差为。理想的情况是,对于每个原始变量而言,其在因子载荷矩阵中,在一个公共因子上的载荷较大,在其他的因子上载荷较小。可以通过因子旋转方法调整因子载荷矩阵。

2) 主成分分析(PCA):

主成分分析试图在力保数据信息丢失最少的原则下,对多个变量进行最佳综合简化,即对高维变量空间进行降维处理。

     假设原来有p个变量(或称指标),通常的做法是将原来p个变量(指标)作线性组合,以此新的综合变量(指标)代替原来p个指标进行统计分析。如果将选取的第一个线性组合,即第一个综合变量(指标),记为F1,则自然希望F1尽可能多地反映原有变量(指标)的信息。

机器学习(二)——基本算法

    如何衡量信息的含量,经典的做法就是采用“方差”来表示。F1的方差越大,F1所包含的信息就越多。这样,F1的选取方法是,在所有的原来p个变量(指标)的线性组合中,选取方差最大的线性组合作为F1,称为第一主成分。如第一主成分不足于代表原来p个变量(指标)的信息,则考虑选取第二主成分F2。为有效反映原信息,F1已有的信息不需要再现在F2中,即要求F1与F2的协方差为零,即Cov(F1, F2)=0。依此下去,我们可以构造出第三、第四、…、第p个主成分。在主成分之间,不仅不相关,而且方差依次递减。在实际经济工作中,我们往往选取前面几个较大的主成分。虽然损失一部分信息,但我们抓住了原来p个变量的大部分信息(一般要求超过85%),分析的结果应该是可靠的、可信的。

对所选主成分作经济解释:

    主成分分析的关键在于能否给主成分赋予新的意义,给出合理的解释,这个解释应根据主成分的计算结果结合定性分析来进行。

    主成分是原来变量的线性组合,在这个线性组合中,各变量的系数有大有小,有正有负,有的大小相当,因而不能简单地认为这个主成分是某个原变量的属性的作用。

    线性组合中个变量的系数的绝对值大者表明该主成分主要综合了绝对值大的变量,有几个变量系数大小相当时,应认为这一主成分是这几个变量的总和,这几个变量综合在一起应赋予怎样的经济意义,要结合经济专业知识,给出恰如其分的解释,才能达到深刻分析经济成因的目的。

两者的区别:

1、因子分析中是把变量表示成各因子的线性组合,而主成分分析中则是把主成分表示成各个变量的线性组合。主成分分析仅仅是变量变换:用原始变量的线性组合表示新的综合变量,即主成分。因子分析需要构造因子模型:用潜在的假想变量和随机影响变量的线性组合表示原始变量。因子模型估计出来后,需要对所得的公共因子进行解释。

2、主成分分析的重点在于解释个变量的总方差,而因子分析则把重点放在解释各变量之 间的协方差。

3、主成分分析中不需要有假设(assumptions),因子分析则需要一些假设。因子分析的假设包括:各个共同因子之间不相关,特殊因子(specific factor)之间也不相关,共同因子和特殊因子之间也不相关。

4、主成分分析中,当给定的协方差矩阵或者相关矩阵的特征值是唯一的时候,主成分一般是独特的;而因子分析中因子不是独特的,可以旋转得到不到的因子。

5、在因子分析中,因子个数需要分析者指定(spss)根据一定的条件自动设定,只要是特征值大于1的因子进入分析),而指 定的因子数量不同而结果不同。在主成分分析中,成分的数量是一定的,一般有几个变量就有几个主成分。

    和主成分分析相比,由于因子分析可以使用旋转技术帮助解释因子,在解释方面更加有优势。大致说来,当需要寻找潜在的因子,并对这些因子进行解释的时候,更加倾向于使用因子分析,并且借助旋转技术帮助更好解释。而如果想把现有的变量变成少数几个新的变量(新的变量几乎带有原来所有变量的信息)来进入后续的分析,则可以使用主成分分析。当然,这中情况也可以使用因子得分做到。所以这种区分不是绝对的。

    总得来说,主成分分析主要是作为一种探索性的技术,在分析者进行多元数据分析之前,用主成分分析来分析数据,让自己对数据有一个大致的了解是非常重要的。主成分分析一般很少单独使用(我觉得不一定,可以单独用):a,了解数据。(screening the data),b,和cluster analysis一起使用,c,和判别分析一起使用,比如当变量很多,个案数不多,直接使用判别分析可能无解,这时候可以使用主成份发对变量简化。(reduce dimensionality)d,在多元回归中,主成分分析可以帮助判断是否存在共线性(条件指数),还可以用来处理共线性。

在算法上,主成分分析和因子分析很类似,不过,在因子分析中所采用的协方差矩阵的对角元素不再是变量的方差,而是和变量对应的共同度(变量方差中被各因子所解释的部分)。

3) 独立成分分析(IDA):

PCA是一个降维的过程,ICA则是帮助你从多个维度分离有用数据的过程。

机器学习(二)——基本算法

机器学习(二)——基本算法

机器学习(二)——基本算法

    机器学习(二)——基本算法

    机器学习(二)——基本算法

机器学习(二)——基本算法

4) 离群点分析:

主要是对异常值的分析方法,探索离群点的意义,离群的原因等;

除去离群点外,还有缺失值、异常值等的处理,统称为异常处理;

第一:缺失值处理:

Ø  处理缺失值的步骤:

(1)识别缺失数据;

(2)检查导致数据缺失的原因;

(3)删除包含缺失值的实例或用合理的数值代替(插补)缺失值;

Ø  缺失值数据的分类:

(1)完全随机缺失:若某变量的缺失数据与其他任何观测或未观测变量都不相关,则数据为完全随机缺失(MCAR);

(2)随机缺失:若某变量上的缺失数据与其他观测变量相关,与它自己的未观测值不相关,则数据为随机缺失(MAR);

(3)非随机缺失:若缺失数据不属于MCAR或MAR,则数据为非随机缺失(NIMAR)。

Ø  识别缺失值:

NA:代表缺失值;

NaN:代表不可能的值;

Inf:代表正无穷;

-Inf:代表负无穷。

第二:异常值处理:

异常值分析是检验数据是否有录入错误以及含有不合常理的数据;

异常值是指样本中的个别值,其数据明显偏离其余的观测值。异常值也称为离群点,异常值的分析也称为离群点分析。

异常值处理一般分为以下几个步骤:异常值检测、异常值筛选、异常值处理。

其中异常值检测的方法主要有:

箱型图、简单统计量(比如观察极(大/小)值),3σ原则。

机器学习(二)——基本算法

数据不一致:指数据的矛盾性、不相容性;在数据挖掘过程中,不一致数据的产生主要发生在数据集成的过程中,可能是由于被挖掘数据是来自于从不同的数据源、重复存放的数据未能进行一致性地更新造成的。

常见的异常值处理办法是:删除法、替代法(连续变量均值替代、离散变量用众数以及中位数替代)、插补法(回归插补、多重插补)。

除了直接删除,可以先把异常值变成缺失值、然后进行后续缺失值补齐。

实践中,异常值处理,一般划分为NA缺失值或者返回公司进行数据修整(数据返修为主要方法)

第三:离群点分析:

离群点检测与异常值主要的区别在于:

异常值针对单一变量,而离群值指的是很多变量综合考虑之后的异常值。

下面介绍一种基于聚类+欧氏距离的离群点检测方法。

基于聚类的离群点检测的步骤如下:

数据标准化——聚类——求每一类每一指标的均值点——每一类每一指标生成一个矩阵——计算欧式距离——画图判断。

5) 假设检验:

假设检验的基本逻辑是基于科学哲学的一个重要论点:全称命题只能被否证而不能被证明。这个道理很简单,个案当然不足以证明一个全称命题,但是却可以否定全称命题。

研究时,我们当然不希望否证自己的研究假设,所以我们就搞个和研究假设相反的虚无假设。如果我们否证了虚无假设,就相当于我们证明了研究假设。所以假设检验就是要试图否证虚无假设,或者说拒绝虚无假设。这是第一层道理。

第二层道理和抽样分布有关。由于抽样的原因,样本并不可能绝对地否证虚无假设。在个案中,小概率事件可以等同于不可能发生的事件。我们在这个意义上去在一定的事先约定的概率水平上去拒绝虚无假设。

用统计的说法就是:
1、不轻易拒绝原假设。原假设即使真的成立,而观察的样本由于数量较少,观察值存在一定的波动。所以我们要给原假设一定范围的容忍度,这个容忍度要尽可能大,观察值出现在这个范围内都是可以容忍的。

2、小概率事件发生不正常。如果小概率事件还是发生了,那么就说明原假设有问题。

结合这两点,我们设置一个随机变量的区域,这个区域是偏离原假设的,并且发生在这个区域的概率很小,如果实际观察到的值还是出现在这个不太可能出现的范围内,那么我们可以拒绝原假设。

两种决定是否接受原假设的方法:

1、给定发生偏离原假设极端情况的概率(这就是显著性水平alpha),可以计算得到对应的临界值(参照图1,偏离原假设的阴影部分面积表示显著性水平,对应的坐标表示临界值)。若观察值在临界值范围内,表示出现这种现象都是比较正常的,则可接受原假设;若观察值超出临界值范围,则表示在原假设条件下出现了不太可能的现象,那么我们就怀疑原假设的成立性,则拒绝原假设。

2、给定发生偏离原假设极端情况的概率。计算出现观察值及比观察值还要偏离原假设的概率(这就是p值)。(参照下面这个图来理解)若p>alpha,则表示观察值在临界值范围内,则可接受原假设(如图1);若p<alpha,则表示观察值在临界值范围之外,则拒绝原假设(如图2)。p值是一个人工定义的东西,它其实还是通过判断观察值是否在临界值范围内来决定是否接受原假设。

机器学习(二)——基本算法

总结下:

对于一个假设,我不知道它是否成立,而且实际测试过程中也存在许多非确定性因素可能导致我的测试过程不准确,那么我给出一个出现错误的容忍度(也就是显著性水平alpha),根据这个容忍度可以得到相应临界值(若观察值在这个范围内都是正常的,否则不正常),然后将观察值和这个值比较。

但是有些情况下观察值不太好看出来,我们可以计算出发生观察情况以及更坏情况的值(也就是p值)。若p值比alpha值大,则表明观察值在临界值范围内,可接受原假设(如图1);若p值比alpha值小,则表明观察值在临界值范围外,则决绝原假设(如图2)。

用到的常见检验方法有: Z检验,T检验秩和检验卡方检验

6)方差分析(ANOVA):

实验中,我们要考察的指标为试验指标,影响的条件成为因素。由于各种因素的影响,使得测试数据结果呈波动状,包含不可控的随机因素、人为调控的可控因素。

应用条件:

1、各样本是相互独立的随机样本

2、各样本均来自正态分布总体

3、各样本的总体方差相等,即具有方差齐性

单因素方差分析(one-way ANOVA):

试验参数

假设因素A有s个水平A1,A2…..,As,每个水平下进行nj次独立试验,样本总数n:

机器学习(二)——基本算法

观测变量总离差平方和 = 组间离差平方和 + 组内离差平方和,表述为:SST=SSA+SSE。

组内差异——测量误差、个体差异:

        SSE(误差平方和):各个水平下,样本观察值与样本均值差异的平方和。

       组内自由度  dfe=n-s。

组间差异——不同实验条件处理

        SSA(因素A的效应平方和):各个水平下样本平均值与数据总平均差异的平方和。

       组间自由度  dfa=s-1。

均方 = 离差平方和 / 自由度。SA=SSA/dfa;SE=SSE/dfe;

机器学习(二)——基本算法

单因素方差分析基本步骤:

1、提出原假设:H0——无差异;H1——有显著差异;

2、选择检验统计量:方差分析采用的检验统计量是F统计量,即F值检验;

拒绝H0

F>F0.05(dfa,dfe)

组间均方>>组内均方,来自不同正态总体

接受H0

F<F0.05(dfa,dfe)

组间均方<<组内均方,来自相同正态总体

3、计算检验统计量的观测值和概率P值;

4、给定显著性水平,并作出决策;

方差齐性检验——对控制变量不同水平下各观测变量总体方差是否相等进行检验

控制变量不同水平下观测变量总体方差无显著差异是方差分析的前提要求。

若不满足,便不能认为各总体分布相同。

多重比较检验——控制变量的不同水平对观测变量的影响程度如何

实现对各个水平下观测变量总体均值的逐对比较

多(双)因素方差分析:

单独效应——其他因素固定,某一因素不同水平之间均数的差别。

交互效应——某因素的单独效应,随另一因素水平而变化,且不能用随机误差解释。

试验参数:

       假设因素A有r个水平(A1,A2…..,Ar),因素B有s个水平(B1,B2……,Bs),每个ABzuhe进行t次独立试验,样本总数n。

机器学习(二)——基本算法 

机器学习(二)——基本算法

机器学习(二)——基本算法

所有数据平均值μ,αi是水平Ai的效应,βj是水平Bj的效应,γij表示Ai与Bj的交互作用:

机器学习(二)——基本算法

同样计算离差平方和SST=SSA+SSE+SSB+SSAB;

SSE(误差平方和)每个(ij)水平下测量值与均值差异的平方和;

SSA、SSB(因素A\B的效应平方和)、SSAB(AB交互效应平方和);

机器学习(二)——基本算法

机器学习(二)——基本算法

例如双因素方差分析的基本步骤:

1、提出原假设:

 

因素A(r)

因素B(s)

AB交互作用(rs)

无显著差异

H01

H02

H03

有显著差异

H11

H12

H13

2、F值检验

拒绝H01

F0.05(dfa,dfe)<FA

因素A不同存在显著差异

拒绝H02

F0.05(dfb,dfe)<FB

因素B不同存在显著差异

拒绝H03

F0.05(dfab,dfe)<FAB

因素A与B存在交互效应

补充:F分布

  设X、Y为两个独立的随机变量,X服从自由度为k1的卡方分布,Y服从自由度为k2的卡方分布。

  变量 F =(X / k1) / (Y / k2)服从F(k1,k2)的分布。

7) 区间估计:

点估计是利用样本数据对未知参数进行估计,得到的是一个具体的数据。

区间估计是通过样本数据估计未知参数在置信度下的最可能的存在区间。得到的结果是一个区间。

机器学习(二)——基本算法

机器学习(二)——基本算法

机器学习(二)——基本算法

机器学习(二)——基本算法

机器学习(二)——基本算法