导航:首页 > 基金百科 > 基金聚类

基金聚类

发布时间:2021-05-08 17:44:33

1、农行低估值高增长股票基金成分股

参考答案:Collective Intelligence:集体智慧,即通过用户提供信息、或用户在使用服务时所创造的信息发现信息的内在规律或结构,应用于优化服务的方式。一般方法是按照信息资源的个性特征,或动态的使用统计信息,将人群或资源聚类。或采用用户的相关反馈信息获取相应参数。图书馆2.0模仿Amazon等Web2.0应用进行图书和信息资源的推荐,或协助读者形成阅读/兴趣小组。

2、现在有什么比较好的资金分析思路和方法?

资金分析,其实是一个非常庞大的课题,不同的行业及业务场景下,资金分析的含义是不同的,例如金融机构的风控部门进行资金分析的目的在于发现风险交易及风险用户,提升金融的监管力度,维持金融秩序。而对于商业,例如商户分析资金,可能目的在于分析营收状况,改变运营策略等。虽然不同的行业有不同的分析目的,但是对于资金这一特殊数据的分析思路和方法却有共通之处。
在谈论任何分析思路和方法前,如何处理原始数据是挡在分析前都第一道关,不对原始数据做处理的人和分析都是无效和失真极大的,而原始数据的处理其实就是提高原始数据的可信度与准确性,现在称作数据治理,而进行数据治理最普遍的工具就是Excel和函数,进行数据的去重,去错,及补全。除此之外,一些处理数据的工具也是不错的选择,利润各种数据清洗脚本,成熟化的工具,例如火治这款数据治理公举,也是民间常用的一款清洗利器。
在有数据治理后,就该谈论分析思路和方法了,而思路换而言之是数据中的分析点,什么点可以分析,能够得到什么,这便是思路,而对于资金分析,常见的分析点要:异常的交易记录,账户的整体收入与支出,账户的整体资金规模及变化趋势,资金交易的时间规律,金额规律,资金的聚类分析,使用人的Ip,mac信息等,这些分析点是目前资金分析所常见的分析要点,根据这些分析要点可以得到具体的决策信息。
而说到分析方法,换而言之是使用什么工具分析,工具是方法的核心 有工具才有基于关机的方法,最通用的分析工具就是数据透视,可以解决大部分统计类的分析,但如果需要进行非统计类的,例如关联分析,这些工具久不够用了,需要借助专业化的工具,尤其是可视化工具,市面上现在用的较多的是火眼金睛,Data C,fas等,都是主流工具,我自己之前使用过i2,自身感觉如果需要更灵活的,亘高的自由度,推荐火眼金睛软件,而Data c,fas灵活度就差许多,以上呢是自身结合自己的一些经验所总结的一些心得,希望和各路大神多多交了讨教。

3、杨政的科研情况

主持国家自然科学基金青年项目:“基于马尔可夫机制转换的非线性协整回归模型研究”(70901013)。
主持中国博士后科学基金项目:“基于平滑转换的协整回归模型及其应用研究”(20090451416)。
主持 电子科技大学青年科技基金项目:“协整指数模型和中国对外贸易与经济增长的关系研究”(X0870)。
参与国家自然科学基金项目:“多尺度非线性随机模型的理论与SAR图像无监督分割”(60375003)。
参与 航空科学基金项目:基于多尺度非线性随机模型的SAR图像无监督分割。
参与中国试飞研究院合作项目:ARJ支线飞机数据处理软件。
论文发表情况:
⒈Zheng YANG,Zheng TIAN,Zixia YUAN,Small sample improvements in the threshold cointegration test using resial-based moving block bootstrap. Mathematics and Computers in Simulation,2008,78⑷: 507-513. (SCI检索;EI检索).
⒉Zheng YANG,Zheng TIAN,Zixia YUAN. GSA-based maximum likelihood estimation for threshold vector error correction model. Computational Statistics & Data Analysis,2007,52⑴: 109-120. (SCI检索;EI检索).
⒊杨政,田铮,原子霞. 检验门限协整模型中的线性协整.控制理论与应用,2008,25⑷: 613-618 .(EI检索)
⒋杨政,田铮,党怀义. 水平门限同积模型参数的拟极大似然估计. 控制理论与应用,2007,24⑵: 299-302. (EI检索)
⒌杨政,田铮. 协整模型中门限协整的一种辨识方法.系统仿真学报,2007,19⒀: 2885-2888. (EI检索)
⒍杨政、原子霞. 指数平滑转换的协整回归模型检验及其实证分析.数量经济技术经济研究,2010年6月刊出。
⒎杨政,田铮,党怀义. 面板数据的单位根检验和协整检验——实证分析西部省市固定投资与工业增加值之间的关系. 数理统计与管理,2007,26⑶:420-426.
⒏杨政,田铮.中国进出口贸易的实证分析. 数学的实践与认识. 2007,37(22):20-25.
⒐田铮,杨政,韩四儿. 协整关系中门限效应的Wald检验. 高校应用数学学报,2009,24⑴: 23-31.
⒑杨政,田铮. 基于MAR模型的SAR图像的聚类分割.计算机应用研究,2005,22⑼,156-158.
⒒黄维,田铮,杨政. 门限向量误差修正模型的门限同积bootstrap 检验.系统工程理论与实践,2008,28 ⑺: 78-85. (EI检索)
⒓王红军,田铮,杨政. 异方差混合双自回归模型—HMDAR,系统仿真学报,2007,19⑶: 497-501. (EI检索)
⒔陈洁,田铮,牛莹莹,杨政. Bootstrap平滑转换向量误差修正模型的非线性协整SupW检验.西北工业大学学报,2009,27⑸: 742-748. (EI检索)
⒕温显斌,田铮,林伟,杨政. 指数信号模型中参数估计的Bootstrap逼近.工程数学学报,2004,21⑹: 973-978
.

4、python sklearn里有kmeans算法吗

K-Means是常用的聚类算法,与其他聚类算法相比,其时间复杂度低,聚类的效果也还不错,这里简单介绍一下k-means算法,下图是一个手写体数据集聚类的结果。
基本思想
k-means算法需要事先指定簇的个数k,算法开始随机选择k个记录点作为中心点,然后遍历整个数据集的各条记录,将每条记录归到离它最近的中心点所在的簇中,之后以各个簇的记录的均值中心点取代之前的中心点,然后不断迭代,直到收敛,算法描述如下:
上面说的收敛,可以看出两方面,一是每条记录所归属的簇不再变化,二是优化目标变化不大。算法的时间复杂度是O(K*N*T),k是中心点个数,N数据集的大小,T是迭代次数。
优化目标
k-means的损失函数是平方误差:
RSSk=∑x∈ωk|x?u(ωk)|2
RSS=∑k=1KRSSk
其中$\omega _k$表示第k个簇,$u(\omega _k)$表示第k个簇的中心点,$RSS_k$是第k个簇的损失函数,$RSS$表示整体的损失函数。优化目标就是选择恰当的记录归属方案,使得整体的损失函数最小。
中心点的选择
k-meams算法的能够保证收敛,但不能保证收敛于全局最优点,当初始中心点选取不好时,只能达到局部最优点,整个聚类的效果也会比较差。可以采用以下方法:k-means中心点
1、选择彼此距离尽可能远的那些点作为中心点;
2、先采用层次进行初步聚类输出k个簇,以簇的中心点的作为k-means的中心点的输入。
3、多次随机选择中心点训练k-means,选择效果最好的聚类结果
k值的选取
k-means的误差函数有一个很大缺陷,就是随着簇的个数增加,误差函数趋近于0,最极端的情况是每个记录各为一个单独的簇,此时数据记录的误差为0,但是这样聚类结果并不是我们想要的,可以引入结构风险对模型的复杂度进行惩罚:
K=mink[RSSmin(k)+λk]
$\lambda$是平衡训练误差与簇的个数的参数,但是现在的问题又变成了如何选取$\lambda$了,有研究[参考文献1]指出,在数据集满足高斯分布时,$\lambda=2m$,其中m是向量的维度。
另一种方法是按递增的顺序尝试不同的k值,同时画出其对应的误差值,通过寻求拐点来找到一个较好的k值,详情见下面的文本聚类的例子。
k-means文本聚类
我爬取了36KR的部分文章,共1456篇,分词后使用sklearn进行k-means聚类。分词后数据记录如下:
使用TF-IDF进行特征词的选取,下图是中心点的个数从3到80对应的误差值的曲线:
从上图中在k=10处出现一个较明显的拐点,因此选择k=10作为中心点的个数,下面是10个簇的数据集的个数。
{0: 152, 1: 239, 2: 142, 3: 61, 4: 119, 5: 44, 6: 71, 7: 394, 8: 141, 9: 93}
簇标签生成
聚类完成后,我们需要一些标签来描述簇,聚类完后,相当于每个类都用一个类标,这时候可以用TFIDF、互信息、卡方等方法来选取特征词作为标签。关于卡方和互信息特征提取可以看我之前的文章文本特征选择,下面是10个类的tfidf标签结果。
Cluster 0: 商家 商品 物流 品牌 支付 导购 网站 购物 平台 订单
Cluster 1: 投资 融资 美元 公司 资本 市场 获得 国内 中国 去年
Cluster 2: 手机 智能 硬件 设备 电视 运动 数据 功能 健康 使用
Cluster 3: 数据 平台 市场 学生 app 移动 信息 公司 医生 教育
Cluster 4: 企业 招聘 人才 平台 公司 it 移动 网站 安全 信息
Cluster 5: 社交 好友 交友 宠物 功能 活动 朋友 基于 分享 游戏
Cluster 6: 记账 理财 贷款 银行 金融 p2p 投资 互联网 基金 公司
Cluster 7: 任务 协作 企业 销售 沟通 工作 项目 管理 工具 成员
Cluster 8: 旅行 旅游 酒店 预订 信息 城市 投资 开放 app 需求
Cluster 9: 视频 内容 游戏 音乐 图片 照片 广告 阅读 分享 功能
实现代码
#!--encoding=utf-8
from __future__ import print_function
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.feature_extraction.text import HashingVectorizer
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans, MiniBatchKMeans
def loadDataset():
'''导入文本数据集'''
f = open('36krout.txt','r')
dataset = []
lastPage = None
for line in f.readlines():
if '< title >' in line and '< / title >' in line:
if lastPage:
dataset.append(lastPage)
lastPage = line
else:
lastPage += line
if lastPage:
dataset.append(lastPage)
f.close()
return dataset
def transform(dataset,n_features=1000):
vectorizer = TfidfVectorizer(max_df=0.5, max_features=n_features, min_df=2,use_idf=True)
X = vectorizer.fit_transform(dataset)
return X,vectorizer
def train(X,vectorizer,true_k=10,minibatch = False,showLable = False):
#使用采样数据还是原始数据训练k-means,
if minibatch:
km = MiniBatchKMeans(n_clusters=true_k, init='k-means++', n_init=1,
init_size=1000, batch_size=1000, verbose=False)
else:
km = KMeans(n_clusters=true_k, init='k-means++', max_iter=300, n_init=1,
verbose=False)
km.fit(X)
if showLable:
print("Top terms per cluster:")
order_centroids = km.cluster_centers_.argsort()[:, ::-1]
terms = vectorizer.get_feature_names()
print (vectorizer.get_stop_words())
for i in range(true_k):
print("Cluster %d:" % i, end='')
for ind in order_centroids[i, :10]:
print(' %s' % terms[ind], end='')
print()
result = list(km.predict(X))
print ('Cluster distribution:')
print (dict([(i, result.count(i)) for i in result]))
return -km.score(X)
def test():
'''测试选择最优参数'''
dataset = loadDataset()
print("%d documents" % len(dataset))
X,vectorizer = transform(dataset,n_features=500)
true_ks = []
scores = []
for i in xrange(3,80,1):
score = train(X,vectorizer,true_k=i)/len(dataset)
print (i,score)
true_ks.append(i)
scores.append(score)
plt.figure(figsize=(8,4))
plt.plot(true_ks,scores,label="error",color="red",linewidth=1)
plt.xlabel("n_features")
plt.ylabel("error")
plt.legend()
plt.show()
def out():
'''在最优参数下输出聚类结果'''
dataset = loadDataset()
X,vectorizer = transform(dataset,n_features=500)
score = train(X,vectorizer,true_k=10,showLable=True)/len(dataset)
print (score)
#test()
out()

与基金聚类相关的资料