阿里巴巴2016数据挖掘工程师真题在线测



    1.想要了解上海市小学生的身高,需要抽取500个样本,这项调查中的样本是?A


    A.从中抽取的500名学生的身高


    B.上海市全部小学生的身高


    C.从中抽取的500名小学生


    D.上海市全部小学生


    2.以下对k-means聚类算法解释正确的是C


    A.能自动识别类的个数,随即挑选初始点为中心点计算


    B.能自动识别类的个数,不是随即挑选初始点为中心点计算


    C.不能自动识别类的个数,随即挑选初始点为中心点计算


    D.不能自动识别类的个数,不是随即挑选初始点为中心点计算


    3.以下哪个是常见的时间序列算法模型C


    A.RSI


    B.MACD


    C.ARMA


    D.KDJ


    4.有个袋子装有2个红球,2个蓝球,1个黄球,取出球以后不再放回,请问取两次出来的球是相同颜色的概率是多少C


    A.0.3333


    B.0.25


    C.0.2


    D.0.1667

有序,所以{ C(2,1)C(1,1)+C(2,1)C(1,1)}/{C(5,1)C(4,1)}


    5.65,8,50,15,37,24,()。括号中的数字是()B


    A.25


    B.26


    C.22


    D.27


    6.一组数据,均值>中位数>众数,问这组数据B


    A.左偏


    B.右偏


    C.钟型


    D.对称


    7.SQL语言允许使用通配符进行字符串匹配的操作,其中‘%’可以表示D


    A.零个字符


    B.1个字符


    C.多个字符


    D.以上都可以


    8.关于正态分布,下列说法错误的是:C


    A.正态分布具有集中性和对称性


    B.正态分布的均值和方差能够决定正态分布的位置和形态


    C.正态分布的偏度为0,峰度为1


    D.标准正态分布的均值为0,方差为1


    9.在以下不同的场景中,使用的分析方法不正确的有B


    A.根据商家最近一年的经营及服务数据,用聚类算法判断出天猫商家在各自主营类目下所属的商家层级


    B.根据商家近几年的成交数据,用聚类算法拟合出用户未来一个月可能的消费金额公式


    C.用关联规则算法分析出购买了汽车坐垫的买家,是否适合推荐汽车脚垫


    D.根据用户最近购买的商品信息,用决策树算法识别出淘宝买家可能是男还是女


    10.下列时间序列模型中,哪一个模型可以较好地拟合波动性的分析和预测D


    A.AR模型


    B.MA模型


    C.ARMA模型


    D.GARCH模型


二、多选题    (共5道题,每题10分)


    1.excel工作簿a中有两列id、age,工作簿b中有一列id,需要找到工作薄b中id对应的age,可用的函数包括AB


    A.index+match


    B.vlookup


    C.hlookup


    D.find


    2.现在有M个桶,每桶都有N个乒乓球,乒乓球的颜色有K种,并且假设第i个桶第j种颜色的球个数为Cij, 比例为Rij=Cij/N,现在要评估哪个桶的乒乓球颜色纯度最高,下列哪种算法和描述是合理的?CDEF


    A.∑(1-Rij*Rij)越小越纯


    B.∑(1-Rij)*(1-Rij)越小越纯


    C.∑(1-Rij)^2 越小越纯


    D.-∑Rij*LOG(Rij)越小越纯


    3.关于相关系数,下列描述中正确的有:ACE


    A.相关系数为0.8时,说明两个变量之间呈正相关关系


    B.相关系数等于1相较于相关系数等于-1,前者的相关性更强


    C.相关性等于1相较于相关系数等于0,前者的相关性更强


    D.Spearman相关系数可以衡量两个定序变量之间的相关程度


    4.关于线性回归的描述,以下正确的有:BCE


    A.基本假设包括随机干扰项是均值为0,方差为1的标准正态分布


    B.基本假设包括随机干扰下是均值为0的同方差正态分布


    C.在违背基本假设时,普通最小二乘法估计量不再是最佳线性无偏估计量


    D.可以用DW检验残差是否存在序列相关性


    5.下列哪些方法可以用来对高维数据进行降维:ABCDEF




LASSO



主成分分析法



聚类分析



小波分析法



线性判别法



拉普拉斯特征映射


6. 查询成交表a中的城市city的成交金额大于0的购买人数(buyer_id)和成交金额(amt)






city buyer_id order_id    amt


a           1           1           100


a           1           2           100


b           2           3           100


b           3           4           20


c           4           5           0



参考答案





1


2


3


4


5


6


7


8


9


10




​select buyer_id,sum(amt) as amt from a​


​where city in​


​(​


​select city from​


​(​


​select city,sum(amt) as amt from a​


​group by city​


​)t​


​where t.amt>0​


​)​



 




7. 公司要构建淘宝商家健康指数,所以要对最近1年内有交易的淘宝商家进行问卷调研。为不过于打搅商 家,问卷调研采取抽样的方式进行确定商家名单。怎么抽样比较好?



参考答案


可以考虑采用分层随机抽样的方式。 首先根据销售额或销售量对商家进行分层,这样可能会将商家分为高销售额(量) 商户,中销售额(量)商户,低销售额(量)商户等,然后根据这三者的比例确定 各个层次应抽取的商户数。 对抽取出来的样本,根据相应的指标,如访问量、购买量、买家评级,评论数,发 货速度等指标来综合考虑商家的健康指数。


 


 


 


 


 


1.总体是指考察的对象的全体,

个体是总体中的每一个考察的对象,

样本是总体中所抽取的一部分个体,

而样本容量则是指样本中个体的数目.

首先我们要了解的是身高,所以CD排除

而B是考察对象的全体,所以B是总体

所以答案A正确


 


 


 


2.



(1)适当选择c个类的初始中心;


(2)在第k次迭代中,对任意一个样本,求其到c个中心的距离,将该样本归到距离最短的中心所在的类;


(3)利用均值等方法更新该类的中心值;


(4)对于所有的c个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。

以上是KMeans(C均值)算法的具体步骤,可以看出需要选择类别数量,但初次选择是随机的,最终的聚类中心是不断迭代稳定以后的聚类中心。所以答案选C。这个是Clementine中K-Means算法的中心的初始化,如果按照这样理解,初始中心就不是随机,当然也不是认为指定的,而是通过某种算法确定。不过K-Means的“随即挑选”,应该是指不能认为输入的意思,所以只能随机或者按照某种策略进行选择初始中心。


 


 



3.时间序列中常用预测技术  一个时间序列是一组对于某一变量连续时间点或连续时段上的观测值。


1.  移动平均法 (MA)


1.1. 简单移动平均法


设有一时间序列y1,y2,..., 则按数据点的顺序逐点推移求出N个数的平均数,即可得到一次移动平均数.


 1.2 趋势移动平均法  


当时间序列没有明显的趋势变动时,使用一次移动平均就能够准确地反映实际情况,直接用第t周期的一次移动平均数就可预测第1t+周期之值。


时间序列出现线性变动趋势时,用一次移动平均数来预测就会出现滞后偏差。修正的方法是在一次移动平均的基础上再做二次移动平均,利用移动平均滞后偏差的规律找出曲线的发展方向和发展趋势,然后才建立直线趋势的预测模型。故称为趋势移动平均法。


2.  自回归模型(AR)


AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点).


本质类似于插值,其目的都是为了增加有效数据,只是AR模型是由N点递推,而插值是由两点(或少数几点)去推导多点,所以AR模型要比插值方法效果更好。


3. 自回归滑动平均模型(ARMA)


其建模思想可概括为:逐渐增加模型的阶数,拟合较高阶模型,直到再增加模型的阶数而剩余残差方差不再显著减小为止。


4. GARCH模型


回归模型。除去和普通回归模型相同的之处,GARCH对误差的方差进行了进一步的建模。特别适用于波动性的分析和预测。


5. 指数平滑法


移动平均法的预测值实质上是以前观测值的加权和,且对不同时期的数据给予相同的加权。这往往不符合实际情况。


指数平滑法则对移动平均法进行了改进和发展,其应用较为广泛。


基本思想都是:预测值是以前观测值的加权和,且对不同的数据给予不同的权,新数据给较大的权,旧数据给较小的权。


根据平滑次数不同,指数平滑法分为:一次指数平滑法、二次指数平滑法和三次指数平滑法等。


 


 


 


 


5.

  • 奇数项是按照15,13,11的递减差递减数列;偶数项是按照7,9,11,的递增差增序列。那么答案就是第七项,奇数列就按照减11吧,37-11=26
    编辑于 2015-08-21 16:27:11回复(3)
  • 30

    阿里巴巴2016数据挖掘工程师真题在线测_正态分布codetang

    65=8^2+1 这里将8作为65的特征
    8=3^2-1    这里得到3
    50=7^2+1  这里得到7
    15=4^2-1  这里得到4
    37=6^2+1 这里得到6
    24=5^2-1  这里得到5
    我们发现8,3,7,4,6,5 这组数的特点,以奇数项开始 奇数项加偶数项的和为11,以偶数项开始的话 偶数项+奇数项的和为10 
    8+3=7+4=6+5 3+7=4+6=5+x 这里得到x为5 特征为5 转换为5^2+1 得到26
    发表于 2015-08-20 15:22:08回复(3)
  • 7 zzkgo15-8 =7 24-15=9;37-x=;50-37=13;65-50=15;所以37-x=11然后x=26.这特么是人做的题目吗!!!!6.
  • 答案为右偏
    首先是左偏、右偏是什么情况的的问题:   这都是建立的频率分布图上的
    如下图,“偏”可以理解为哪边的数据比较少,左偏就是左边的数据偏少
    阿里巴巴2016数据挖掘工程师真题在线测_正态分布_02 
     
    其次,这三个数的关系。咱们看看中位数和众数的关系
    众数,频率最高的那个数,图上就是最高峰对应的x值
    中位数,中间位置的那个数,在图上就是面积对半分的那条线对应的x值(因为频率图的总面积可认为是数据总个数,想想如果连续的情况)
    当右偏时,可直观得出   中位数 > 众数
     
    当然三个数的数据关系需要严格的数学推导,上面的方法只是辅助记忆
    所以对应选B。
  • 选B。众数:是一组数据中出现次数最多的数值; 众数、中位数与算术平均数之间有着一定的关系,这种关系决定于总体次数分布的状况.当次数分布呈对称的钟型分布时,算术平均数位于次数分布曲线的对称点上,而该点又是曲线的最高点和中心点,因此,众数、中位数和算术平均数三者相等.当次数分布呈非对称的钟型分布,由于这三种平均数受极端数值影响程度的不同,因而它们的数值就存在一定的差别,但三者之间仍有一定的关系.当次数分布右偏时,算术平均数受偏高数值影响较大,其位置必然在众数之右,中位数在众数与算术平均数之间.反之.当次数分布左偏时,算术平均数受偏小数值的影响较大,其位置在众数之左,中位数仍在两者之间
    编辑于 2015-08-20 15:33:24回复(0)
  • 2

    阿里巴巴2016数据挖掘工程师真题在线测_正态分布_03Bekyii
    当数据关于均值对称分布时,偏度为0;当右边的数据更分散时,为右偏,反之左偏。若众数小于中位数,左边更集中右边更分散,故为右偏。



7. SQL 通配符必须与 LIKE 运算符一起使用。

在 SQL 中,可使用以下通配符:


通配符

描述

%

替代一个或多个字符

_

仅替代一个字符

[charlist]

字符列中的任何单一字符


[^charlist]

或者

[!charlist]


不在字符列中的任何单一字符

% 可以是零个


 


 


8.偏度(Skewness)是描述某变量取值分布对称性的统计量。

如果是正太分布的话.偏度是 三阶中心距,值为0.

,Skewness=0     分布形态与正态分布偏度相同

Skewness>0     正偏差数值较大,为正偏或右偏。长尾巴拖在右边。

Skewness<0     负偏差数值较大,为负偏或左偏。长尾巴拖在左边。

计算公式:

Skewness=E[((x-E(x))/(\sqrt{D(x)}))^3] 

| Skewness| 越大,分布形态偏移程度越大。

 


峰度(Kurtosis)是描述某变量所有取值分布形态陡缓程度的统计量。

它是和正态分布相比较的。

Kurtosis=0       与正态分布的陡缓程度相同。

Kurtosis>0       比正态分布的高峰更加陡峭——尖顶峰

Kurtosis<0       比正态分布的高峰来得平台——平顶峰

计算公式:

Kurtosis=E[ ( (x-E(x))/ (\sqrt(D(x)))   )^4 ]-3   四阶中心距-3.


 


如果是正态分布,那么偏度,峰度均为0.


 


Kurtosis(峰度): 是对Sample构成的分布的峰值是否突兀或是平坦的描述。           

计算时间序列x的峰度,峰度用于度量x偏离某分布的情况,正态分布的峰度为3。当时间序列的曲线峰值比正态分布的高时,峰度大于3;当比正态分布的低时,峰度小于3。  

Skewness(偏度): 是对Sample构成的分布的对称性状况的描述。 

计算时间序列x的偏度,偏度用于衡量x的对称性。若偏度为负,则x均值左侧的离散度比右侧强;若偏度为正,则x均值左侧的离散度比右侧弱。对于正态分布(或严格对称分布)偏度等于0


 


 


9.预测消费需要用回归模型来做。而不是聚类算法。


 


 


10.

AR模型:自回归模型,是一种线性模型


MA模型:移动平均法模型,其中使用趋势移动平均法建立直线趋势的预测模型


ARMA模型:自回归滑动平均模型,拟合较高阶模型


GARCH模型:广义回归模型,对误差的方差建模,适用于波动性的分析和预测


 



AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值。


MA模型(moving average model)滑动平均模型,模型参量法谱分析方法之一。


ARMA模型(auto regressive moving average model)自回归滑动平均模型,模型参量法高分辨率谱分析方法之一。这种方法是研究平稳随机过程有理谱的典型方法。它比AR模型法与MA模型法有较精确的谱估计及较优良的谱分辨率性能,但其参数估算比较繁琐。


GARCH模型称为广义ARCH模型,是ARCH模型的拓展, GARCH对误差的 方差进行了进一步的建模,特别适用于波动性的分析和 预测。


 


GARCH模型称为广义ARCH模型,是ARCH模型的拓展,由Bollerslev(1986)发展起来的。它是ARCH模型的推广。GARCH(p,0)模型,相当于ARCH(p)模型。GARCH模型是一个专门针对金融数据所量体订做的回归模型,除去和普通回归模型相同的之处,GARCH对误差的方差进行了进一步的建模。特别适用于波动性的分析和预测,这样的分析对投资者的​​决策​​能起到非常重要的指导性作用,其意义很多时候超过了对数值本身的分析和预测。


 


11.

INDEX: 函数返回表格或区域中的值或值的引用 .


 


MATCH: 在范围单元格中搜索特定的项 , 然后返回该项在此区域中的相对位置 .


 


VLOOKUP&HLOOKUP: 在表格的首行或数值数组中搜索值 , 然后返回表格或数组中指定 行的所在列中的值 . 当比较值位于数据表格的首行时, 如果要向下查看指定的行数 , 则可 使用 HLOOKUP; 当比较值位于所需查找的数据的左边一列时 , 则可使用 VLOOKUP.


 


FIND: 返回一个字符串在另一个字符串中出现的起始位置 ( 区分大小写 ).


 


IF: 可以对值和期待值进行逻辑比较 .


 


LIKE: 可用Like运算符自定义字符比较函数之类的, 应该是VBA的函数.


 


 


12.有疑问:B和F应该是一样的吧,N每一项除以一个常数N就是F了,求解~


个人觉得这道题肯定具有争议,有人从熵计算和基尼指数来解释答案的合理性。但单纯看到这道题来说根本没有提到相关的内容,根据数学分析,很明显得到答案是BCDEF


考察基尼指数和信息熵的物理意义,越大越表示样本不纯和混乱,越小表示样本越纯和整齐。因此,下面几个答案,是熵计算和基尼指数相关计算的有CDEF。


 


 


13.1.连续数据,正态分布,线性关系,用pearson相关系数是最恰当,当然用spearman相关系数也可以, 

  就是效率没有pearson相关系数高。 

2.上述任一条件不满足,就用spearman相关系数,不能用pearson相关系数。 

3.两个定序测量数据之间也用spearman相关系数,不能用pearson相关系数。


 



相关系数ρXY取值在-1到1之间,


ρXY = 0时,称X,Y不相关;


| ρXY | = 1时,称X,Y​​完全相关​​,此时,X,Y之间具有线性函数关系; 


| ρXY | < 1时,X的变动引起Y的部分变动,ρXY的绝对值越大,X的变动引起Y的变动就越大, | ρXY | > 0.8时称为高度相关,当 | ρXY | < 0.3时称为低度相关,其它时候为中度相关。


 



Pearson要求连续线性;


Spearman只要求单调就可以了,不一定要连续线性。


 


14.一元线性回归的基本假设有

1、随机误差项是一个期望值或平均值为0的随机变量; 

 2、对于解释变量的所有观测值,随机误差项有相同的方差; 

 3、随机误差项彼此不相关;

4、解释变量是确定性变量,不是随机变量,与随机误差项彼此之间相互独立;

5、解释变量之间不存在精确的(完全的)线性关系,即解释变量的样本观测值矩阵是满秩矩阵;

6、随机误差项服从正态分布


违背基本假设的计量经济学模型还是可以估计的,只是不能使用普通最小二乘法进行估计。 

 当存在异方差时,普通最小二乘法估计存在以下问题: 参数估计值虽然是无偏的,但不是最小方差线性无偏估计。


杜宾-瓦特森(DW)检验,计量经济,统计分析中常用的一种检验序列一阶 ​​自相关 ​​最常用的方法。 


所谓多重共线性(Multicollinearity)是指线性回归模型中的解释变量之间由于存在精确​​相关关系​​或高度相关关系而使模型估计失真或难以估计准确。影响

(1)完全共线性下​​参数估计​​量不存在


(2)近似共线性下OLS估计量非有效


多重共线性使参数估计值的方差增大,1/(1-r2)为​​方差膨胀因子​​(Variance Inflation Factor, VIF)


(3)参数估计量经济含义不合理


(4)变量的显著性检验失去意义,可能将重要的解释变量排除在模型之外


(5)模型的预测功能失效。变大的​​方差​​容易使​​区间​​预测的“区间”变大,使预测失去意义。


 


​/*对于线性回归模型,当响应变量服从正态分布,误差项满足高斯--马尔科夫条件(零均值、等方差、不相关)时,​


​回归参数的最小二乘估计是一致最小方差无偏估计。​


​当然,该条件只是理想化的假定,为的是数学上有相应的较为成熟的结论。其实大多数实际问题都不完全满足这些理想化的假定。​


​线性回归模型理论的发展正是在不断克服理想化条件不被满足时得到许多新方法。如加权LSE、岭估计、压缩估计、BOX_COX变换等一系列手段。​


​做实际工作时一定是要超越书本上的理想化条件的。 (这是在小木虫上看到的网友@chenlp211的解释。与大家分享)*/​


多重共线性会使得参数估计值方差增大

 

15.


lasso通过参数缩减达到降维的目的;


pca就不用说了


线性鉴别法即LDA通过找到一个空间使得类内距离最小类间距离最大所以可以看做是降维;


小波分析有一些变换的操作降低其他干扰可以看做是降维


拉普拉斯请看这个http://f.dataguru.cn/thread-287243-1-1.html


 


 


聚类在降维中也是有应用的,希望牛客网后台再仔细一些~


 

Lasso(Least absolute shrinkage and selection operator, Tibshirani(1996)) 方法是一种压缩估计,它通过构造一个罚函数得到一个较为精炼的模型,使得它压缩一些系数,同时设定一些系数为零。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。Lasso 的基本思想是在回归系数的绝对值之和小于一个常数的约束条件下,使残差平方和最小化,从而能够产生某些严格等于 0 的回归系数,得到可以解释的模型。lasso通过参数缩减达到降维的目的;

 

16.


select city,cnt ,amt FROM 


( select city,sum(buyer_id)/*or count*/ as cnt,sum(amt) as amt from a group by city ) 


as t 


 where t.amt>0 group by city;


1.感觉这里的buyer_id应该是购买者的id,应该计算的count而不是sum.楼上的buyerid感觉有点问题,不管是人数还是id.......


2.个人觉得最后计算时使用groupby将city分开,楼上没有分开. 


改成一条语句


select city,count(buyer_id),sum(amt) from a group by city having sum(amt)>0 ;


近三年没怎么写sql了 having都忘了


 


SELECT city, COUNT(UNIQUE(buyer_id)), SUM(amt)      //我的理解是如果buyer_id                                                                   // 重复多次也只能算一个用户


FROM a  


GROUP BY city HAVING SUM(amt) > 0;


 


 






​select city,COUNT(buyer_id) as id_cnt,SUM(amt) as amt_cnt​


​from  (select city,buyer_id,sum(amt) as amt from orders_a​


​where amt > ​​​​0​​ ​​group by city,buyer_id) as t​


​group by city​



 



一个城市里同一buyer_id的人计数一次,成交累加。


所以先查询每个city不同buyer_id,amt>0的sum(amt)


然后在上一步基础上查询每个city的COUNT(buyer_id)和SUM(amt)


 


 


17.

1、首先使用聚类算法,将销售不同商品的商家进行聚类。


2、对1中的每一个聚类,使用层次聚类算法,将商家按照销售的业绩进行分层。


3、对2中的每一层进行简单的随机抽样,保证销售同一个商品的不同销售业绩的商家都会被抽到。



以销售量、卖家信誉以及评价指数对淘宝卖家按三个维度划分等级,统计不同等级下的卖家概率分布,然后以该概率分布分别从上述三个样本中选择一些卖家进行问卷调研