zoukankan      html  css  js  c++  java
  • 建模算法(十)——灰色理论之关联度分析

    一、数据变换技术

           为了保证建模的质量和系统分析结果的准确性,对原始的数据要进行去量纲处理。

    1、定义  

           设有序列image,则成映射image为序列x到序列y的数据变换。

    (1) f 是初值化变换。image

    (2) f 是均值化变换。image

    (3) f 是百分比变换image

    (4) f 是倍数变换image

    (5) f 是归一化变换image其中x0>0的一个数值

    (6) f 是极差最大值变换image

    (6) f 是区间值变换image

    二、关联分析

    1、定义

          参考数列是被比较(主体),比较数列是比较值(不是主体)

    image

            但是由于各个时刻都有一个分辨系数,太过分散,所以再定义一个指标

    image

    2、demo

    image

    image

    MATLAB求解

    function [ y ] = relevancy( refer,compare,p,rank)
    %refer参考数列(行向量),compare比较数列
    %p为分辨系数,默认为0.5
    %rank为列向量,反映参考数列与比较数列同增同减时是相关还是不相关
    %rank为1表示同增同减时是相关(默认),rank为0表示同增同减时是不相关
    %y返回一个反映关联度的列向量
    [a,b]=size(compare);
    if(nargin<3)
        p=0.5;
    end
    if(nargin<4)
        rank=ones(a,1);
    end
    %参考数列,比较数列初始化
    refer=refer/refer(1);
    for i=1:a
        if(rank(i)==1)
            compare(i,:)=compare(i,:)/compare(i,1);
        else
            compare(i,:)=compare(i,1)./compare(i,:);
        end
    end
    %计算差值
    for i=1:a
        for j=1:b
            diff(i,j)=compare(i,j)-refer(j);
        end
    end
    %计算关联度
    diff=abs(diff);
    for i=1:a
        sum=0;
        for j=1:b
            max1=max(max(diff'));
            min1=min(min(diff'));
            sum=sum+(min1+p*max1)/(diff(i,j)+p*max1);%关联度计算公式
        end
        y(i,1)=sum/b;%关联度取平均
    end
  • 相关阅读:
    运算符的优先级
    % 取余运算 取模运算
    Java运算符,关系运算符
    自增自减 a++,++a,a--,--a
    Java运算符,算术运算符
    启用div作为编辑器 添加contentEditalbe = “true”,如何让在Html中特殊字符不被转义
    一个合格前端必看的书籍
    JQuery中eq()和get()的区别
    div,contenteditable编辑器之ctrl+enter换行,enter发送
    Angularjs 源码
  • 原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4273205.html
Copyright © 2011-2022 走看看