第一题

1、1000个数组,每个数组1000个元素,求差异最大的两个数组,自己定义差异
定义:A = (x1,x2,x3,…,x1000)
差异:
1.1 斯皮尔曼相似度、皮尔森相似度
1.2 余弦向量
实现:
1.1 利用pandas构建data.corr()
1.2 两层for循环,求余弦相似度

python
1
from sklearn.metrics.pairwise import cosine_similarity()

第二题

2、现有两个数组A和B,A数组包含10个1000维的向量,B数组包含1000个1000维的向量,求B中哪个向量和A中所有向量相似度最低?
定义:
A = (x1,x2,x3,…,x10)
B = (y1,y2,y3,…,y1000)
相似度最小:还是利用问题1中的两种
实现:
1.1 将B中每个向量yi和A进行拼接,构建新的dataframe,通过corr求
1.2 两层for循环

python
1
2
3
4
5
6
7
8
9
10
res = inf
idx = -1
for i,y in enumerate(B):
ans = 0
for x in A:
similarity = cos(x,y)
ans += similarity
if ans < res:
res,idx = ans,i
return idx

优化措施

由于题目中的数组都是股票数据,基于此需要进行优化措施
1、原始数据进行归一化
2、原始数据特征挖掘,包含均值、方差、最值、回撤等
3、对原始数据进行百分比求解,得到999维度的每日涨跌幅
4、1000维数据较长,短期相似度可能捕捉不到,需要对1000维数据进行分段计算相似度,通过加权的形式求最终相似度,短期的相似度可以给予较高的权重系数

笔试结果

门口的前台说,回答的不太准确,本来笔试结束有面试,就让回去了,等消息
下午5点30左右,发消息说8.3下午现场再约面试

面试

1、问:为什么要升维和降维?
2、问:协方差公式知道否?
3、问:协方差越大为什么相关性越强?
~送人(ps:这个总经理有问题,誰去誰坑!)