Ⅰ R语言做聚类分析用统计量确定类的个数.有什么代码或者包吗
聚类分析有两种主要计算方法,分别是凝聚层次聚类(Agglomerative hierarchical method)和K均值聚类(K-Means)。
层次聚类又称为系统聚类,首先要定义样本之间的距离关系,距离较近的归为一类,较远的则属于不同的类。可用于定义“距离”的统计量包括了欧氏距离 (euclidean)、马氏距离(manhattan)、 两项距离(binary)、明氏距离(minkowski)。还包括相关系数和夹角余弦。 层次聚类首先将每个样本单独作为一类,然后将不同类之间距离最近的进行合并,合并后重新计算类间距离。这个过程一直持续到将所有样本归为一类为止。在计算类间距离时则有六种不同的方法,分别是最短距离法、最长距离法、类平均法、重心法、中间距离法、离差平方和法。 下面我们用iris数据集来进行聚类分析,在R语言中所用到的函数为hclust。
首先提取iris数据中的4个数值变量,然后计算其欧氏距离矩阵。然后将矩阵绘制热图,从图中可以看到颜色越深表示样本间距离越近,大致上可以区分出三到四个区块,其样本之间比较接近。 data=iris[,-5] dist.e=dist(data,method='euclidean') heatmap(as.matrix(dist.e),labRow = F, labCol = F) X 然后使用hclust函数建立聚类模型,结果存在model1变量中,其中ward参数是将类间距离计算方法设置为离差平方和法。
Ⅱ 股票代码前的字母R是什么意思
R代表是融资融券的标的证券。
更多字母前缀的含义:
分红类:
XR,表示该股已除权,购买这样的股票后将不再享有分红的权利;
DR,表示除权除息,购买这样的股票不再享有送股派息的权利;
XD,表示股票除息,购买这样的股票后将不再享有派息的权利。
其他类:
ST,这是对连续两个会计年度都出现亏损的公司施行的特别处理。ST即为亏损股。
*ST,是连续三年亏损,有退市风险的意思,购买这样的股票要有比较好的基本面分析能力。
N,新股上市首日的名称前都会加一个字母N,即英文NEW的意思。
S*ST,指公司经营连续三年亏损,进行退市预警和还没有完成股改。
SST,指公司经营连续二年亏损进行的特别处理和还没有完成股改。
S,还没有进行或完成股改的股票。
NST,经过重组或股改重新恢复上市的ST股。
PT,退市的股票。
Ⅲ 如何利用R软件进行聚类分析
1. 数据预处理,
2. 为衡量数据点间的相似度定义一个距离函数,
3. 聚类或分组,
4. 评估输出。
数据预处理包括选择数量,类型和特征的标度,它依靠特征选择和特征抽取,特征选择选择重要的特征,特征抽取把输入的特征转化为一个新的显著特征,它们经常被用来获取一个合适的特征集来为避免“维数灾”进行聚类,数据预处理还包括将孤立点移出数据,孤立点是不依附于一般数据行为或模型的数据,因此孤立点经常会导致有偏差的聚类结果,因此为了得到正确的聚类,我们必须将它们剔除。
既然相类似性是定义一个类的基础,那么不同数据之间在同一个特征空间相似度的衡量对于聚类步骤是很重要的,由于特征类型和特征标度的多样性,距离度量必须谨慎,它经常依赖于应用,例如,通常通过定义在特征空间的距离度量来评估不同对象的相异性,很多距离度都应用在一些不同的领域,一个简单的距离度量,如Euclidean距离,经常被用作反映不同数据间的相异性,一些有关相似性的度量,例如PMC和SMC,能够被用来特征化不同数据的概念相似性,在图像聚类上,子图图像的误差更正能够被用来衡量两个图形的相似性。
将数据对象分到不同的类中是一个很重要的步骤,数据基于不同的方法被分到不同的类中,划分方法和层次方法是聚类分析的两个主要方法,划分方法一般从初始划分和最优化一个聚类标准开始。Crisp Clustering,它的每一个数据都属于单独的类;Fuzzy Clustering,它的每个数据可能在任何一个类中,Crisp Clustering和Fuzzy Clusterin是划分方法的两个主要技术,划分方法聚类是基于某个标准产生一个嵌套的划分系列,它可以度量不同类之间的相似性或一个类的可分离性用来合并和分裂类,其他的聚类方法还包括基于密度的聚类,基于模型的聚类,基于网格的聚类。
评估聚类结果的质量是另一个重要的阶段,聚类是一个无管理的程序,也没有客观的标准来评价聚类结果,它是通过一个类有效索引来评价,一般来说,几何性质,包括类间的分离和类内部的耦合,一般都用来评价聚类结果的质量,类有效索引在决定类的数目时经常扮演了一个重要角色,类有效索引的最佳值被期望从真实的类数目中获取,一个通常的决定类数目的方法是选择一个特定的类有效索引的最佳值,这个索引能否真实的得出类的数目是判断该索引是否有效的标准,很多已经存在的标准对于相互分离的类数据集合都能得出很好的结果,但是对于复杂的数据集,却通常行不通,例如,对于交叠类的集合。
Ⅳ 股票代码后面加R时什么意思其他的字母呢
加R代表这个股票是融资融券标的意思。
ST,这是对连续两个会计年度都出现亏损的公司施行的特别处理。ST即为亏损股。
*ST,是连续三年亏损,有退市风险的意思,购买这样的股票要有比较好的基本面分析能力。
N,新股上市首日的名称前都会加一个字母N,即英文NEW的意思。
S*ST,指公司经营连续三年亏损,进行退市预警和还没有完成股改。
SST,指公司经营连续二年亏损进行的特别处理和还没有完成股改。
S,还没有进行或完成股改的股票。
NST,经过重组或股改重新恢复上市的ST股。
PT,退市的股票。
(4)股票聚类分析r代码扩展阅读:
交易时间
大多数股票的交易时间是:
交易时间4小时,分两个时段,为:周一至周五上午9:30至11:30和下午13:00至15:00。
上午9:15开始,投资人就可以下单,委托价格限于前一个营业日收盘价的加减百分之十,即在当日的涨跌停板之间。9:25前委托的单子,在上午9:25时撮合,得出的价格便是所谓“开盘价”。9:25到9:30之间委托的单子,在9:30才开始处理。
如果你委托的价格无法在当个交易日成交的话,隔一个交易日则必须重新挂单。
休息日:周六、周日和上证所公告的休市日不交易。(一般为五一国际劳动节、十一国庆节、春节、元旦、清明节、端午节、中秋节等国家法定节假日)
Ⅳ 聚类分析可分为Q型聚类和R型聚类,请问Q和R这两个字母的含义是什么,为什么叫Q和R而不叫其他的字母
在聚类分析中,通常将根据分类对象的不同分为Q型聚类分析和R型聚类分析两大类。
R型聚类分析是对变量进行分类处理,Q型聚类分析是对样本进行分类处理。
R型聚类分析的主要作用是:
1、不但可以了解个别变量之间的关系的亲疏程度,而且可以了解各个变量组合之间的亲疏程度。
2、根据变量的分类结果以及它们之间的关系,可以选择主要变量进行回归分析或Q型聚类分析。
Q型聚类分析的优点是:
1、可以综合利用多个变量的信息对样本进行分类;
2、分类结果是直观的,聚类谱系图非常清楚地表现其数值分类结果;
3、聚类分析所得到的结果比传统分类方法更细致、全面、合理。
(5)股票聚类分析r代码扩展阅读:
Q型聚类把所有观察对象按一定性质进行分类,使性质相近对象分在同一类,性质差异较大对象分到另一类。主要根据不同对象(如样本)之间距离远近(计算方法如欧几里得距离等)进行区分,近者分为一类,远者分成不同类。如把不同个体的人分成不同群体或类别,主要采用此聚类方法。
Ⅵ 如何利用matlab求r型聚类分析
本文重点是展示如何用Matlab来进行聚类分析。如果有需要解答的问题请留言,笔者会尽其所能地回答。
内容
展示如何使用MATLAB进行聚类分析
生成随机二维分布图形,三个中心
K均值聚类
分层聚类
重新调用K均值法
将分类的结果展示出来
运用高斯混合分布模型进行聚类分析
通过AIC准则寻找最优的分类数
展示如何使用MATLAB进行聚类分析
分别运用分层聚类、K均值聚类以及高斯混合模型来进行分析,然后比较三者的结果
生成随机二维分布图形,三个中心
% 使用高斯分布(正态分布)
% 随机生成3个中心以及标准差
s = rng(5,'v5normal');
mu = round((rand(3,2)-0.5)*19)+1;
sigma = round(rand(3,2)*40)/10+1;
X = [mvnrnd(mu(1,:),sigma(1,:),200); ...
mvnrnd(mu(2,:),sigma(2,:),300); ...
mvnrnd(mu(3,:),sigma(3,:),400)];
% 作图
P1 = figure;clf;
scatter(X(:,1),X(:,2),10,'ro');
title('研究样本散点分布图')
K均值聚类
% 距离用传统欧式距离,分成两类
[cidx2,cmeans2,sumd2,D2] = kmeans(X,2,'dist','sqEuclidean');
P2 = figure;clf;
[silh2,h2] = silhouette(X,cidx2,'sqeuclidean');
从轮廓图上面看,第二类结果比较好,但是第一类有部分数据表现不佳。有相当部分的点落在0.8以下。
分层聚类
eucD = pdist(X,'euclidean');
clustTreeEuc = linkage(eucD,'average');
cophenet(clustTreeEuc,eucD);
P3 = figure;clf;
[h,nodes] = dendrogram(clustTreeEuc,20);
set(gca,'TickDir','out','TickLength',[.002 0],'XTickLabel',[]);
可以选择dendrogram显示的结点数目,这里选择20 。结果显示可能可以分成三类
重新调用K均值法
改为分成三类
[cidx3,cmeans3,sumd3,D3] = kmeans(X,3,'dist','sqEuclidean');
P4 = figure;clf;
[silh3,h3] = silhouette(X,cidx3,'sqeuclidean');
图上看,比前面的结果略有改善。
将分类的结果展示出来
P5 = figure;clf
ptsymb = {'bo','ro','go',',mo','c+'};
MarkFace = {[0 0 1],[.8 0 0],[0 .5 0]};
hold on
for i =1:3
clust = find(cidx3 == i);
plot(X(clust,1),X(clust,2),ptsymb{i},'MarkerSize',3,'MarkerFace',MarkFace{i},'MarkerEdgeColor','black');
plot(cmeans3(i,1),cmeans3(i,2),ptsymb{i},'MarkerSize',10,'MarkerFace',MarkFace{i});
end
hold off
运用高斯混合分布模型进行聚类分析
分别用分布图、热能图和概率图展示结果 等高线
% 等高线
options = statset('Display','off');
gm = gmdistribution.fit(X,3,'Options',options);
P6 = figure;clf
scatter(X(:,1),X(:,2),10,'ro');
hold on
ezcontour(@(x,y) pdf(gm,[x,y]),[-15 15],[-15 10]);
hold off
P7 = figure;clf
scatter(X(:,1),X(:,2),10,'ro');
hold on
ezsurf(@(x,y) pdf(gm,[x,y]),[-15 15],[-15 10]);
hold off
view(33,24)
热能图
cluster1 = (cidx3 == 1);
cluster3 = (cidx3 == 2);
% 通过观察,K均值方法的第二类是gm的第三类
cluster2 = (cidx3 == 3);
% 计算分类概率
P = posterior(gm,X);
P8 = figure;clf
plot3(X(cluster1,1),X(cluster1,2),P(cluster1,1),'r.')
grid on;hold on
plot3(X(cluster2,1),X(cluster2,2),P(cluster2,2),'bo')
plot3(X(cluster3,1),X(cluster3,2),P(cluster3,3),'g*')
legend('第 1 类','第 2 类','第 3 类','Location','NW')
clrmap = jet(80); colormap(clrmap(9:72,:))
ylabel(colorbar,'Component 1 Posterior Probability')
view(-45,20);
% 第三类点部分概率值较低,可能需要其他数据来进行分析。
% 概率图
P9 = figure;clf
[~,order] = sort(P(:,1));
plot(1:size(X,1),P(order,1),'r-',1:size(X,1),P(order,2),'b-',1:size(X,1),P(order,3),'y-');
legend({'Cluster 1 Score' 'Cluster 2 Score' 'Cluster 3 Score'},'location','NW');
ylabel('Cluster Membership Score');
xlabel('Point Ranking');
通过AIC准则寻找最优的分类数
高斯混合模型法的最大好处是给出分类好坏的标准
AIC = zeros(1,4);
NlogL = AIC;
GM = cell(1,4);
for k = 1:4
GM{k} = gmdistribution.fit(X,k);
AIC(k)= GM{k}.AIC;
NlogL(k) = GM{k}.NlogL;
end
[minAIC,numComponents] = min(AIC);
按AIC准则给出的最优分类数为: 3 对应的AIC值为: 8647.63
后记
(1)pluskid指出K均值算法的初值对结果很重要,但是在运行时还没有发现类似的结果。也许Mathworks对该算法进行过优化。有时间会仔细研究下代码,将结果放上来。
转载仅供参考,版权属于原作者
Ⅶ 如何利用r语言代码进行聚类分析
#读入数据
china <- read.table("F:\\2008年我国其中31个省、市和自治区的农村居民家庭平均每人全年消费性支出.txt",header=TRUE)
distance <- dist(china) #计算距离
china.hc <- hclust(distance) #聚类分析,最长距离法
plot(china.hc, hang = -1) #绘画系谱图
re <- rect.hclust(china.hc, k = 5) #分为5类
re
for (i in 1:5) {
print(paste("第",i,"类"))
print(china[re[[i]],]$地区)
Ⅷ 股票中R,S,L字母各代表什么意思
股票名字前面“L”是指“联”,也就是指关联品种,是指该股可能有B股、H股,或者是债券、权证什么的。
股票名字前的字母含义:
指数名字前的“G”是指“贡”字,也就是“贡献”的意思。你点一下可以看见所有股票对该指数的涨跌贡献度。
股票名字前面“L”是指“联”,也就是指关联品种,是指该股可能有B股、H股,或者是债券、权证什么的。
股票名称中的英文含义:
分红类:
XR,Exclud Right的缩写。表示该股已除权,购买这样的股票后将不再享有分红的权利; (这个符号在第二个交易日会自动消失,恢复成正常名称)
DR,Dividend Right的缩写。表示除权除息,购买这样的股票不再享有送股派息的权利; (这个符号在第二个交易日会自动消失,恢复成正常名称)
XD,ex (without) dividend的缩写。表示股票除息,购买这样的股票后将不再享有派息的权利。 (这个符号在第二个交易日会自动消失,恢复成正常名称)
其他类:
ST,这是对连续两个会计年度都出现亏损的公司施行的特别处理。ST即为亏损股。
*ST,是连续三年亏损,有退市风险的意思,购买这样的股票要有比较好的基本面分析能力。
N,新股上市首日的名称前都会加一个字母N,即英文NEW的意思;另外股改、重组、增发后复牌第一天也有字母N进行区别。(这个符号在第二个交易日会自动消失,恢复成正常名称)
S*ST,指公司经营连续三年亏损,进行退市预警和还没有完成股改。
SST,指公司经营连续二年亏损进行的特别处里和还没有完成股改。
S,指还没有进行或完成股改的股票。
NST,经过重组或股改重新恢复上市的ST股。
股票名字前面“L”是指“联”,也就是指关联品种,是指该股可能有B股、H股,或者是债券、权证什么的。
股票名字前的字母含义:
指数名字前的“G”是指“贡”字,也就是“贡献”的意思。你点一下可以看见所有股票对该指数的涨跌贡献度。
股票名字前面“L”是指“联”,也就是指关联品种,是指该股可能有B股、H股,或者是债券、权证什么的。
股票名称中的英文含义:
分红类:
XR,Exclud Right的缩写。表示该股已除权,购买这样的股票后将不再享有分红的权利; (这个符号在第二个交易日会自动消失,恢复成正常名称)
DR,Dividend Right的缩写。表示除权除息,购买这样的股票不再享有送股派息的权利; (这个符号在第二个交易日会自动消失,恢复成正常名称)
XD,ex (without) dividend的缩写。表示股票除息,购买这样的股票后将不再享有派息的权利。 (这个符号在第二个交易日会自动消失,恢复成正常名称)
其他类:
ST,这是对连续两个会计年度都出现亏损的公司施行的特别处理。ST即为亏损股。
*ST,是连续三年亏损,有退市风险的意思,购买这样的股票要有比较好的基本面分析能力。
N,新股上市首日的名称前都会加一个字母N,即英文NEW的意思;另外股改、重组、增发后复牌第一天也有字母N进行区别。(这个符号在第二个交易日会自动消失,恢复成正常名称)
S*ST,指公司经营连续三年亏损,进行退市预警和还没有完成股改。
SST,指公司经营连续二年亏损进行的特别处里和还没有完成股改。
S,指还没有进行或完成股改的股票。
NST,经过重组或股改重新恢复上市的ST股。
股票名字前面“L”是指“联”,也就是指关联品种,是指该股可能有B股、H股,或者是债券、权证什么的。
股票名字前的字母含义:
指数名字前的“G”是指“贡”字,也就是“贡献”的意思。你点一下可以看见所有股票对该指数的涨跌贡献度。
股票名字前面“L”是指“联”,也就是指关联品种,是指该股可能有B股、H股,或者是债券、权证什么的。
股票名称中的英文含义:
分红类:
XR,Exclud Right的缩写。表示该股已除权,购买这样的股票后将不再享有分红的权利; (这个符号在第二个交易日会自动消失,恢复成正常名称)
DR,Dividend Right的缩写。表示除权除息,购买这样的股票不再享有送股派息的权利; (这个符号在第二个交易日会自动消失,恢复成正常名称)
XD,ex (without) dividend的缩写。表示股票除息,购买这样的股票后将不再享有派息的权利。 (这个符号在第二个交易日会自动消失,恢复成正常名称)
其他类:
ST,这是对连续两个会计年度都出现亏损的公司施行的特别处理。ST即为亏损股。
*ST,是连续三年亏损,有退市风险的意思,购买这样的股票要有比较好的基本面分析能力。
N,新股上市首日的名称前都会加一个字母N,即英文NEW的意思;另外股改、重组、增发后复牌第一天也有字母N进行区别。(这个符号在第二个交易日会自动消失,恢复成正常名称)
S*ST,指公司经营连续三年亏损,进行退市预警和还没有完成股改。
SST,指公司经营连续二年亏损进行的特别处里和还没有完成股改。
S,指还没有进行或完成股改的股票。
NST,经过重组或股改重新恢复上市的ST股。
*号,指这只股票当天有提示或者公告,你在分时走势图上找到这个小星星,点击它就会出现提示的内容.
Ⅸ 谁知道R/S分析的程序代码
cls;
load data[3089, 2] = lunwen\99201.txt;@读入数据@
datr = data[2:3089, 2]:
@计算个数@
obv = (int((rows(datr)-1)/100)*100)+2;
print obv;
@通计算对数回报率@
datn = (ln(datr[2:obvl./datr[l:obv-1]));
obv = obv-1;
@计算AR(1)@
yi = datn[2:obv];
xi = datn[l:obv-1];
xi2 = xi^2;
ybar = meanc(yi);
xbar = meanc(xi);
xly = yi.*xi;
sxx = obv*sumc(xi2) - (sumc(xi))_2;
sxy = obv*(sumc(xly)) - sumc(xi)*sumc(yi):
slope = sxy/sxx; const = ybar-slope*xbar;
datx = datn[2:obv] - (const + slope*datn[l:obv-1]):
clear datn; obv = rows(datx);
@计算R/S值@
I = 4;
do while i<obv-1;
i = i+l; n = floor(obv/i); num = (obv/i):
if n<num:
goto repeat;
endif;
x1 = reshape(datx, n, i);
mu = meanc(xl);
xl = xl - mu;
sig = stdc (xl);
sum = cumsumc(xl);
max = maxc(sum); min = minc(sum):
r=max-min;
rs=r/sig;
a=log(meanc(rs)); b=log(i);
c=a^b^i;
?c;
repeat:endo;