网站大量收购独家精品文档,联系QQ:2885784924

非正态数据的正态变换处理.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
非正态数据的正态变换处理

非正态数据的正态变换处理 —改进的幂变换方法 1.改进的幂变换方法 将偏态分布的数据向量变换为近似正态分布的数据向量y。 (1)经典的幂变换 (2)改进的幂变换 其中幂指数按下列方法估计:求使 最大化,其中 2. 数据处理的MATLAB函数 (1)幂变换函数 function y=powerTrans(x,lambda) %powerTrans函数功能是对偏态数数据的幂变换,使其变化成为正态数据 %然后通过Q-Q图判断变换变换后数据的正态性 %其中x--变量x1,x2,x3,...,xn的容量为n的非正态偏态数据矩阵 %y--x进行幂变换后的y1,y2,...,yn容量为n的正态数据矩阵 %lambda为幂指数,可以根据数据的具体分布形态通过试验确定,lamnda1可使大值缩小,lambda1,可使大致增大 %辛妍编写于2012年11月28号 [m,n]=size(x); for i=1:m if lambda~=0 y(i,:)=(x(i,:).^(lambda)-ones(1,n))./lambda; else y(i,:)=log(x(i,:)); end end qqplot(y); (2)幂指数估计函数 lamda1.m文件(程序如下) function [lamda,y]=lamda(x) %LAMDA函数是改进的幂变换函数,功能是找到使得经验函数 % L(s)=-0.5*n*log(var((x.^s-1)/s))+(s-1)*n*mean(log(x))达到最大化的解,然后对正值偏态数据进行幂变换 % y=(x.^lamda-1)./lamda;(将lamda带入式中)使这些数据变化成为正态据 %通过Q-Q图判断变换变换后数据的正态性 %其中x--变量x1,x2,x3,......xn的容量为n的正值偏态数据矩阵 %y--x进行幂变换后的y1,y2,....yn容量为n的正态数据矩阵 %lamda是使的经验函数最大化时的解 [m,n]=size(x) if m~=1n~=1 error(m or n must be 1 !); return ; end if n==1 n=m; end f=@(s)(-(-0.5*n*log(var((x.^s-1)/s))+(s-1)*n*mean(log(x))));%f表示经验函数的相反数 ezplot(f); s0=input(请输入极值所在区间的左端点:); s1=input(请输入极值所在区间的右断点:); lamda=fminbnd(f, s0, s1);%利用该函数找到固定区间内单变量函数最小值 y=(x.^lamda-1)./lamda; figure(2); qqplot(y); title(yQ-Q图); 3.函数测试 (1)生成一组正偏态数据,并画数据QQ图 ① 生成正态数据 for i=1:100 x=randn(1,100)+5; end ② 偏态化处理 a=(0.5*x+1).^2; hist(a) ③ 偏态数据的直方图的图像 (2)调用lamda1.m函数进行数据处理 ①数据处理 lamda1(a) ②参数lamda的估计函数的图像 ③绘制正态化处理后数据的QQ图 4.实验心得(小结) 在处理数据时,当样本数据来自正态总体的先验假设是错的,即总体不是正态的情况下,通常通过适当的可逆数据变换,使非正态数据变为“像正态数据”。对于计数数据、比例数数据、相关系数矩阵、偏态数据分别采用平方根变换、logit变换z变换、幂变换相应的可逆数据变换。这里,主要针对正偏态数据,首先生成一组正偏态数据,调用lamda1函数,找到使得经验函数L(s)=-0.5*n*log(var((x.^s-1)/s))+(s-1)*n*mean(log(x))达到最大化的解lamda,带入改进的幂变换公式y=(x.^lamda-1)./lamda;求出y的值,然后通过QQ图判断y的正态性,从而找出不足再进行改进。 -6 -4 -2 0 2 4 6 150 200 250 300 350 400 s (-(- 0 . 5 n log ( var (( x . s - 1 )/ s ))+( s - 1 ) n mean ( log ( x ))))

文档评论(0)

peain + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档