有序样品的最优分割的算法.docxVIP

  • 361
  • 0
  • 约1.39千字
  • 约 5页
  • 2017-04-04 发布于重庆
  • 举报
有序样品的最优分割的算法

有序样品的最优分割算法一、有序样品聚类——最优分割的概念有序样品的聚类分析就是对有序样品进行分段的统计方法。对 n 个有序样品进行分割,就可能有 种划分方法,这每一种分法成为一种分割,在所有的这些分割中,找到一种分割使得各段内部之间差异性最小,而各段之间差异性最大,对n个样品分段并使组内离差平方和最小的分割方法,就是最优分割法。设有N 个按一定顺序排列的样品,每个样品测得 p 项指标,其原始资料矩阵:其中元素 表示第 j 个样品的第 i个指标的观测值。现在要把此 N 个样品。按顺序(不破坏序列的连续性)进行分割(分段或者分类)。其所有可能的分割法共有很多种分割方法,现在要求在所有分割中找出一种分割法,这种分割法使各段内样品之间的差异最小,而各分段之间的差异最大。各段内数值变化最小,就是各段内数值变化最小,段内数值变化用变差或者极差来表示,比如样品段:变差(偏差):表示样本段内样品间的差异情况,小表示段内各样品之间数值比较接近,反之,大表示段内各样品数值之间的差异大。极差:对于单指标情况要各段内部的差异最小,即所分成各段变差的总和(即段内离差平方和,称为总变差)为最小。总变差分解公式:S总=S段间+S段内S总=== = =S段内+S段间S段内=为段内离差平方和S段间= 为段间离差平方和所以 S段间=S总-S段内对给定的 N 个样品,S 总是个固定的量。若使段内离差平方和为最小,则段间离差平方和必为最大。所以,使总变差(段内离差平方和)为最小的分割法就是最优的分割法.二、 最优分割的计算步骤及其计算公式 1. 数据正规化设原始资料矩阵为将矩阵 X 中的元素 变换为:而得矩阵Matlab程序:function[std]=std1(vector) max1=max(vector); min1=min(vector); [a,b]=size(vector); for j=1:bstd(j)=(vector(j)-min1)./(max1-min1);end2. 计算极差(或变差)矩阵由上述极差(或变差)计算公式得到矩阵:Matlab程序:function[D,a,b]=range1(vector) [a,b]=size(vector); k=a; fori=1:bfor j=i:b d(i,j)=max(vector(k,i:j))-min(vector(k,i:j));endend3.最优k分割由 D 矩阵计算全部分两类的各种分割相应的总变差,即对每一个 m(m = N、N-1、…、k),求出相应的总变差,找出最小值,确定各子段的最优k分割点,从而得出 N 个样品的最优k分割。Matlab程序:function [array]=sect(vector,n) [a,b]=size(vector);for num=n:-1:2 [S,alp]=divi(vector,num);if num==narray(num-1)=alp(1,b);elsearray(num-1)=alp(array(num));endend

文档评论(0)

1亿VIP精品文档

相关文档