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
  • 相关阅读:
    小程序登录及用户信息和手机号的获取
    Node.js 获取微信JS-SDK CONFIG
    代码顺序的重要性
    七牛视频防盗链处理
    《码农翻身》读书笔记
    白夜行
    看见
    用node.js写一个jenkins发版脚本
    Node.js 使用 RSA 做加密
    七牛视频切片方案
  • 原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4273205.html
Copyright © 2011-2022 走看看