在金融中的应用.ppt

上传人:本田雅阁 文档编号:2735019 上传时间:2019-05-09 格式:PPT 页数:103 大小:1.08MB
返回 下载 相关 举报
在金融中的应用.ppt_第1页
第1页 / 共103页
在金融中的应用.ppt_第2页
第2页 / 共103页
在金融中的应用.ppt_第3页
第3页 / 共103页
在金融中的应用.ppt_第4页
第4页 / 共103页
在金融中的应用.ppt_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《在金融中的应用.ppt》由会员分享,可在线阅读,更多相关《在金融中的应用.ppt(103页珍藏版)》请在三一文库上搜索。

1、第八讲 Matlab 在金融工程中的应用,张树德 著,参考文献:,MATLAB金融计算与金融数据处理,北京航空航天大学出版社, 2008,Matlab金融工具箱模块,1. Financial Toolbox,Matlab自带金融工具箱,具有下列功能:,固定收益计算,日期数据处理,资产均值方差分析,时间序列分析,有价证卷的收益和价格,统计分析,定价和灵敏度分析,年金和现金流计算,抵押支持债卷,Financial Derivatives Toolbox 是金融衍生产品工具箱,用于固定收益、金融衍生物以及风险投资评估分析,也可用于各种金融衍生物定价策略以及敏感度分析。,2. Financial De

2、rivatives Toolbox,3. Financial Time Series Toolbox,Financial Time Series Toolbox 用于分析金融市场的时间序列数据。金融数据是时间序列数据,例如股票价格或每天的利息波动,可以用该工具箱进行更加直观的数据管理。该工具箱支持下列功能:,技术分析函数分析投资。,可视化金融时间序列的对象;,提供两种创建金融时间序列的对象(用构造器和转换文本文件);,FixedIncome Toolbox扩展了Matlab在金融财经方面的应用,可以用固定收益模型进行计算,例如定价、收益和现金流动等有价证券的固定收益计算。支持的固定收益类型包括

3、有价证券抵押回报、社会债卷和保证金等。该工具箱还能够处理相应金融衍生物的计算,支持抵押回收有价证券、国债和可转换债卷等的计算。,Garch Toolbox 提供了一个集成计算环境,允许对单变量金融时序数据的易变性进行建模。 Garch Toolbox使用一个广义ARMAX/GARCH复合模型对带有条件异方差的金融时序数据进行仿真、预测和参数识别。 Garch Toolbox提供了基本工具为单变量广义自回归条件异方差GARCH(Generalized Auto Regressive Conditional Heteroskedasticity)易变性进行建模。 Garch Toolbox采用单变

4、量GARCH模型对金融市场中的变化性进行分析。,4. FixedIncome Toolbox,5. Garch Toolbox,上述工具箱基本上囊括了通常的金融计算,适用于金融学术研究,特别适合金融实务工作者进行金融计算。 Financial Toolbox提供了一个基于Matlab的财务分析支撑环境,可以完成许多种财务分析统计任务;从简单计算到全面的分布式应用,财务工具箱都能够用来进行证卷定价、资产组合收益分析、偏差分析和优化业务量等工作。,金 融 数 据 统 计,本讲主要介绍了统计学的基本原理和基本统计量。要求读者掌握均匀分布、正态分布随机数生成办法,学会常用的统计绘图命令,掌握回归的方法

5、,学会运用主成份、因子分析金融问题。,一、随机模拟基本原理,1977年,菲利浦.伯耶勒(Phelim Boyle)提出了模拟方法求解金融资产定价问题。其想法是假设资产价格分布是随机波动,如果知道了这个波动过程,就可以模拟不同的路径;每做完一次模拟,就产生一个最终资产价值,在进行若干次这样的过程,那么所得到的结果就是一个最终资产价值分布,从这个分布中可以得到期望的资产价格。,(一) 随机数生成函数,在Matlab中 unidrnd 函数可以生成1N的均匀分布随机数。其调用方式为:,Runidrnd( N ),随机数矩阵,确定输出随机矩阵R的行数,生成在1N之间的一个随机数,1. 均匀分布随机数生

6、成函数,Runidrnd( N,m ),Runidrnd( N,m,n ),确定输出随机矩阵R的列数,输出方阵,unifrnd(0,1) ans= 0.4565,如果需要生成服从连续均匀分布的随机数,则可以调用 unifrnd 函数,其调用方式为:,Runifrnd( A,B ),A,B是随机数的下界与上界,如:生成一个01之间随机数:,2. 生成服从连续均匀分布的随机数,Runifrnd( A,B,m ),Runifrnd( A,B,m,n ),m,n表示随机数的维数,下面介绍两种方法生成12之间随机矩阵K,K为5行6列矩阵。,方法1,方法2,unifrnd(1,2,5,6) ans = 1

7、.9334 1.1338 1.5751 1.0129 1.6124 1.5869 1.6833 1.2071 1.4514 1.3840 1.6085 1.0576 1.2126 1.6072 1.0439 1.6831 1.0158 1.3676 1.8392 1.6299 1.0272 1.0928 1.0164 1.6315 1.6288 1.3705 1.3127 1.0353 1.1901 1.7176,unifrnd(1,2,5,6) ans = 1.6927 1.1536 1.5548 1.2731 1.9084 1.6408 1.0841 1.6756 1.1210 1.254

8、8 1.2319 1.1909 1.4544 1.6992 1.4508 1.8656 1.2393 1.8439 1.4418 1.7275 1.7159 1.2324 1.0498 1.1739 1.3533 1.4784 1.8928 1.8049 1.0784 1.1708,Rnormrnd( mu,sigma ),正态分布的均值,随机矩阵R的行数,正态分布的方差,3. 生成正态分布的随机数,Rnormrnd( mu,sigma,m ),Rnormrnd( mu,sigma,m,n ),随机矩阵R的列数,调用方式为:, normrnd(0,1) ans= -0.4326,如:生成均值为

9、0,方差为1正态分布的随机数,可用命令,下面用两种方法生成均值为0,方差为1的正态分布矩阵,矩阵为5行6列。,方法1,方法2,normrnd(0,1,5,6) ans = -0.3179 0.7310 -0.2556 0.1184 0.7990 -1.0078 1.0950 0.5779 -0.3775 0.3148 0.9409 -0.7420 -1.8740 0.0403 -0.2959 1.4435 -0.9921 1.0823 0.4282 0.6771 -1.4751 -0.3510 0.2120 -0.1315 0.8956 0.5689 -0.2340 0.6232 0.2379

10、 0.3899,normrnd(0,1,5,6) ans = 0.0880 0.7812 -2.2023 0.0215 -1.0559 -1.1283 -0.6355 0.5690 0.9863 -1.0039 1.4725 -1.3493 -0.5596 -0.8217 -0.5186 -0.9471 0.0557 -0.2611 0.4437 -0.2656 0.3274 -0.3744 -1.2173 0.9535 -0.9499 -1.1878 0.2341 -1.1859 -0.0412 0.1286,4. 特定分布随机数发生器,在Matlab中有统一格式随机数发生器,函数名称为ra

11、ndom,可以生成许多服从不同分布的随机数。,调用方式,y=random(name , A1 , A2 , A3 , m , n),输出参数,name 说明随机分布的类型,具体如下表所列。,特定分布的参数表, a = random (Normal , 0 , 1 , 3 , 2) a = 0.6565 -0.2624 -1.1678 -1.2132 -0.4606 -1.3194,下面用random函数生成3行2列的正态分布随机数矩阵,正态分布的均值为0、方差为1。,5. 多元正态分布的随机数,多元正态分布的随机数可以用如下形式表示:,式中: 是均值向量, 是协方差矩阵。,Xi N( , ),

12、mu 均值 sigma 协方差 cases 样本个数,在Matlab中可使用mvnrnd函数生成多元正态分布函数。,调用方式,R= mvnrnd(mu , sigma) R= mvnrnd(mu , sigma , cases),输入参数,mu = 2 3 ; %均值 SIGMA=1 1.5;1.5 3; %协方差矩阵 r=mvnrnd(mu,SIGMA,100); %生成100个随机样本 plot(r(:,1),r(:,2),+),下面生成一个多元正态分布的例子。,样本的散点图如右所示:,二元正态分布的散点图,(二)多元正态分布密度函数, mu = 1 -1; Sigma = 0.9 0.4

13、 ; 0.4 0.3; X = 2 1 ; p = mvnpdf(X , mu , Sigma) p = 1.3828 e-005,多元正态分布的密度函数是 mvnpdf。,调用方式,mvnpdf(X , mu , Sigma),下面是一个例子。, mu = 1 -1; Sigma = 0.9 0.4 ; 0 .4 0.3; X = 2 1; f = mvncdf (X , mu , Sigma) f = 0.8541,F (x,y) P(X x,Y y),如果计算分布函数,则X、Y为二元随机正态分布,分布函数 F(x,y) 的定义如下:,调用方式为:,p=mvncdf(X , mu , SI

14、GMA),下面举一个例子。,可以看出:对于随机变量 X,Y,有 P(X 2 , Y 1) = 0.8541 也即 X 2且Y 1 的概率为0.8541。,二、随机变量的数字特征,A 如果A为向量,则返回值为该向量的平均值; 如果A是矩阵,则返回值是每列的平均值。 dim dim=1(默认)表示每列平均,dim=2表示每 行平均。,(一)计算平均值,调用方式,M = mean (A) mean(A , dim),输入参数,在Matlab中计算几何平均数的函数为 geomean;计算调和平均数的函数是 harmmean 函数,调和平均数的计算公式是 注意样本数据不能为 0 。, a = 1 2 ;

15、 3 4; a = 1 2 3 4,下面是一个例子。, mean ( a ) ans = 2 3, mean( a , 2) ans = 1.500 0 3.500 0,(二) 剔除异常值后的平均值,X 样本观察矩阵。 percent 剔除比率,例如percent10表示同时剔除最大 的5%和最小的5观察值 。 dim dim1(默认)表示对每列求平均值,dim2 表示对每行求平均值。,有时观察数据中有异常大或异常小的值,这些异常值会对平均值产生影响,需要去掉异常值。例如在体操比赛中,去掉一个最高分和最低分,然后计算运动员的最后得分。在Matlab中也有剔除异常值后的平均数。,调用方式,M =

16、 trimmean ( X , percent ) M = trimmean ( X , percent , dim ),输入参数, x = rand( 1 , 20 ) trimmean (x , 10) ans = 0.5145,(三)计算中位数,A 样本观测矩阵 dim dim1(默认)表示对每列求中位数,dim2表示对每行求中位数,剔除10的异常值之后的平均数为0.5145 。,调用方式,M median (A) M median (A ,dim),输入参数,有时数据中出现NaN,在计算中位数时需要忽略NaN,这时需要调用nanmedian函数。,(四)计算方差与标准差,A 样本值 f

17、lag 0(默认值)表示方差计算公式为 1表示方差计算公式为,一般说来,资产组合的风险越大,方差越大,波动性越大。方差由于其简单、直观以及良好的统计性质使其成为风险的代名词。,在Matlab中计算方差、标准差的函数分别是 Var、Std。,方差调用方式,Var( A ) Var( A ,flag ),标准差调用方式,Std(A) Std(A , flag),输入参数,(五) 计算样本的百分位数, x = rand( 1 , 20 ); prctile ( x , 20 ) ans = 0.1688,调用方式,Y prctile(X,p,dim),输入参数,X 观察值 p 计算大于p值的数 di

18、m 同上,下面是一个例子,(六)计算样本极差,r = range ( q ) r = range ( q,dim ),极差就是样本极大值与极小值的差,反映样本的离散程度。,调用方式, x = rand ( 1 , 20 ); range ( x ) ans = 0.8404,下面是一个例子,(七)计算偏度与峰度,方差作为风险的度量指标并不是完整的。比如讲,两种资产收益分布的均值和方差都是相同的,但是一种资产收益是左偏的,另一种是右偏的。对于风险而言,相对于大概率和小损失人们更加厌恶小概率大损失的情况,后一种情况给人们带来的痛苦远大于第一情况。从这个意义上讲,收益分布左偏的资产的风险水平要小于右

19、偏的资产。此时,方差作为风险的度量指标就不是完全的,还要考虑峰度、偏度等指标。 偏度和峰度是两个高阶的统计量。计算偏度的目的在于考察组合收益率水平是否是对称分布,也就是组合产生亏损与获得盈利的概率如何;峰度是考察组合的收益率情况是否接近正态分布,如果组合的收益率存在尖峰厚尾的分布特征,则说明组合产生亏损和盈利的概率偏大,也就是在一定程度上认为组合收益率出现极端性的可能性偏大,这种组合的收益率稳定性是比较差的。,正态分布的峰度等于 3,大于3表示尖峰,小于3表示分布比较均匀。股票市场收益率的时间序列大都为尖峰肥尾。,偏度的计算公式为,式中:, 分别为样本 x 的均值与方差。,如果 skewnes

20、s0,则表示分布形态与正态分布偏度相同;如果 skewness 0,则表示正偏差数值较大,长尾巴拖在右边;如果skeqness0,则表示负偏差数值较大,长尾巴拖在左边。,峰度的计算公式为, x = rand( 1 , 20 ); skewness( x ) ans = -0.0487,1. 计算偏度,调用方式,Y = skewness ( A ) Y = skewness( A , flag ),输入参数,A 样本值 flag 偏度的计算方式,0(默认)为无偏估计, 1为有偏估计,下面是一个例子。,k = kurtosis ( X ) k = kurtosis ( X, flag ) k =

21、kurtosis ( X, flag , dim ),2. 计算峰度,调用方式,X 样本观察矩阵 flag 峰度的计算方式,0(默认)为无偏估计, 1为有偏估计 dim dim1(默认)表示对每列求平均, dim2表示对每行求平均,输入参数, x = rand( 1 , 20 ) kurtosis ( x ) ans = 1.4407,下面是一个例子。,(八)计算绝对离差,绝对离差是以偏差绝对数来衡量决策方案的风险。在期望值相同的情况下,绝对离差越大,风险越大;绝对离差越小,风险越小。,调用方式,Y = mad( X ) Y = mad( X , n ),输入参数,X 观察值 n 绝对偏差计算

22、方式 n0(默认)计算公式为mean(abs(Xmean(X) n1计算公式为median(abs(Xmedian(X), x = rand ( 1 , 20 ) mad ( x ) ans = 0.1750,下面是一个绝对离差的例子。,(九)计算中心矩,数理统计中经常用到中心矩的概念,k阶中心矩的计算公式为,可以看出 1 阶中心矩为 0,如果观察值是矩阵则以每列为样本计算中心矩。,X 观察样本值 order 中心矩的阶数,必须为正整数,调用方式,M = moment ( X , order ),输入参数, X = rand ( 6 5 ) X = 0.4154 0.9901 0.3200 0

23、.4399 0.1338 0.3050 0.7889 0.9601 0.9334 0.2071 0.8744 0.4387 0.7266 0.6833 0.6072 0.0150 0.4983 0.4120 0.2126 0.6299 0.7680 0.2140 0.7446 0.8392 0.3705 0.9708 0.6435 0.2679 0.6288 0.5751, m = moment ( X , 3 ) m = -0.0113 0.0014 0.0032 -0.0058 -0.0023,下面计算样本的 3 阶矩。,(十)计算协方差和相关系数,协方差是一个用于衡量投资组合任意两个资产

24、相关性的统计指标。当协方差为正值时,表示两种资产的收益率呈同方向变动;协方差为负值时,表示两种资产的收益率呈相反方向变化;协方差等于 0 时,表示两种资产不存在相关性。 相关系数总是在 -11 之间的范围内变动,-1 表示完全负相关(反向),1 表示完全正相关(同向),0 则表示不相关。Matlab计算协方差、相关系数的函数分别是cov 和 corrcoef 。,协方差,调用方式,C = cov ( X ) C = cov( x , y ),下面是一个例子, A = -1 1 2 ; -2 3 1 ; 4 0 3; cov ( A ) ans = 10.333 -4.1667 3.0000 -

25、4.1667 2.3333 -1.5000 3.0000 -1.5000 1.0000,X 观察值矩阵 Y 观察向量 param1 参数 1 ,参数的值如下: alpha表示置信度,在 01 之间 val1 参数 1 的值 param2 参数 2 val2 参数 2 的值,2. 相关系数,调用方式,R = corrcoef ( X ) R = corrcoef ( x , y ) R , P = corrcoef ( X , param1 , val1 , param2, val2 , ),输入参数,R 相关系数矩阵 P 每个相关系数的概率矩阵,输出参数, x = rand ( 30 , 4

26、); x (: , 4) = sum( x , 2 ); r , p = corrcoef ( x ) i , j = find ( p i , j ,下面是一个计算相关系数的例子。,r = 1.0000 0.1412 -0.1954 0.4993 0.1412 1.0000 -0.1312 0.5848 -0.1954 -0.1312 1.0000 0.3729 0.4993 0.5848 0.3729 1.0000 p = 1.0000 0.4566 0.3008 0.0050 0.4566 1.0000 0.4896 0.0007 0.3008 0.4896 1.0000 0.0424

27、0.0050 0.0007 0.0424 1.0000 ans = 4 1 4 2 4 3 1 4 2 4 3 4,三、 统 计 绘 图, x = 1 2 3 5 7 3 3.4 x = 1.0000 2.0000 3.0000 5.0000 7.0000 3.0000 3.4000 tabulate ( x ) Value Count Percent 1 1 14.29% 2 1 14.29% 3 2 28.57% 3.4 1 14.29% 5 1 14.29% 7 1 14.29%,(一)样本频率分布图,样本频率分布图函数是 tabulate 。,下面调用 cdfplot 函数绘出 x 的

28、分布图。,cdfplot ( x ),向量 x 的分布图,(二)最小二乘拟合图,在 Matlab 中绘制最小二乘拟合图的命令是 lsline ,下面是一个例子。,x=rand ( 1 , 20 ) x=cumsum ( x ) plot ( x , + ) lsline,最小二乘拟合图,(三)正态分布概率图,有时需要判断样本数据是否服从正态分布,normplot 函数用图的形式给出直观的判断。如果数据点越靠近直线则分布越近似正态分布,越远则越偏离正态分布。,x=normrnd(0,1,20,1) plot(x,+) normplot(x),正态分布拟合图,从图中可以看出,数据点基本上是直线,所

29、以符合正态分布。如果判断数据是否服从 Weibull 分布则可以对生成的数据用 wblplot 函数进行判断。下图给出了Weibull 分布拟合的结果。,从图中看出对于数据较小、较大的点偏离较大,数据不服从Weibull 分布。,Weibull分布拟合图,(四)样本密度图,randn(seed,0); x=randn(1,20); x=cumsum(x) capaplot(x,0,10),在Matlab中绘出样本数据的密度图函数为 capaplot。,样本的密度示意图如右图所示。,样本的密度示意图,(五)频率直方图,Y 观察值。如果 Y 是一个向量,则画出一个频率图; 如果 Y 是一个 mp

30、阶矩阵,则对 Y 每一列分别 作频率图 nbins 频率图分成 nbins 等分的区间段,默认值为 10 。,调用方式,n = hist ( Y ) n = hist ( Y , nbins ) n , xout = hist ( Y , nbins ),输入参数,n 样本落在区间段的频率 xout 区间断的刻度,输出参数,下面是一个例子。,randn(seed,0) x=randn(1,200) ; hist(x),频率直方图如右图所示, hist ( x , min ( x ) : 0.3 : max ( x ) ) ;,其中 min ( x ) : 0.3 : max ( x ) 表示频

31、率图 X 轴的刻度起点是 x 最小元素,终点是 x 中最大元素,刻度间隔 0.3。规定刻度间隔的频率直方图如下图所示。,如果在频率图的基础上加上正态分布拟合图,则可以用 histfit 函数。,randn(seed,0) x=randn(1,20) histfit(x),带有密度函数的频率直方图如右图所示。,(六)盒 图,X 样本观察值 G 各组的名称 Param1 参数 1 的名称 val1 参数 1 的值,在 Matlab 中绘制样本数据的盒图函数是 boxplot。,调用方式,boxplot ( X ) boxplot ( X , G ) boxplot ( X , Param1,val

32、1,Param2,val2,),输入参数,各参数的名称和内容如下表所列,x1=normrnd(5,1,100,1); x2=normrnd(6,1,100,1); boxplot(x1,x2,notch,on),盒子的上下两条线分别为样本的 25和 75分位数,盒子的上下底之间的距离为四分位的间距。 盒子的中间线为样本中值,如果样本中值不在盒子的中间,表示存在一定的偏度。盒子的上方和下方有两条虚线,显示了样本的范围,野值(异常值)位于超过盒子顶端、底端 1.5 倍的四分位数。 含有缺口的盒图中齿形缺口表示样本中值的置信区间。,图 中的内容说明如下:,正态分布盒图如右图所示。,四、多元线性回归分

33、析,在金融上常常需要对金融、经济数据进行回归,其中最简单的是多元线性回归。,(一)多元线性回归,b=regress(Y,X) b,bint=regress(Y,X) b,bint,r=regress(Y,X) b,bint,r,rint=regress(Y,X) b,bint,r,rint,stats=regress(Y,X) b,bint,r,rint,stats=regress(Y,X,alpha),假设因变量 Y 和自变量 X 之间服从以下的线性模型:,式中:Y 是因变量的观察值,X是自变量回归矩阵, 是参数向量, 是白噪声。,的最小二乘解是,调用方式,X 自变量观察值,注意如果模型中有

34、常数项,则 X 的 第一列所有元素为 1 。 Y 因变量观察值向量 alpha 参数的置信度,输入参数,例1 首先按照下面模型生成一系列随机数,然后回归。,b 的估计值,注意 b 中已经包含了常数项 bint 的置信区间 r 残值 rint 残值的置信区间 stats R2、F、概率 p,输出参数,b,bint,r,rint,stats=regress(Y,ones(10,1),X,0.05),下面生成一组随机数,X= 1:10; Y=0.1+0.4*X + normrnd(0,0.1,1,10);,下面估计 :,rint = -0.1794 0.1149 -0.1435 0.1764 -0.

35、1625 0.1737 -0.2005 0.1417 -0.1795 0.1712 -0.1046 0.2290 -0.0569 0.2470 -0.2559 -0.0402 -0.0667 0.2238 -0.1889 0.1008 stats = 1.0e+003 * 0.0010 2.2837 0.0000 0.0000,b = 0.1303 0.3953 bint = 0.0120 0.2487 0.3762 0.4144 r = -0.0323 0.0165 0.0056 -0.0294 -0.0041 0.0622 0.0950 -0.1480 0.0785 -0.0440,从 b

36、 的估计值可以得知常数项和一次项的系数分别为0.1303, 0.3953。在 0.05 置信水平下常数项系数估计区间为0.0120 0.2487,X的系数置信区间为0.3762 0.4144。由于样本数量非常少,参数估计并不稳定。下图是残差及其置信区间图。,rcoplot(r,rint),(二)多元正态回归,在 Matlab 中 mvnrmle 函数可以进行多元正态回归,假设Yk 为随机变量,其分布如下:,式中:N ( g , g )为多元正态分布。,调用方式,Parameters,Covariance,Resid,Info= mvnrmle(Y,Design,MaxIterations,To

37、lParam,Tol0bj,Covar0),Parameters 参数 Covariance 协方差 Resid 残差 Info 估计过程的相关系数,Y 观察值矩阵,Ynk中n是样本的个数,k是资产的数目 Design 自变量单元变量矩阵,如果 Y 只有一个资产时,Design是 一个矩阵,如果 Y 中的资产个数大于一个时,Design 是 一个单元向量,每个元素都是一个矩阵。Y 的 k 列和 Design 第 k 个元素中的矩阵进行回归 MaxIterations TolParam Tol0bj Covaro,输出参数,输入参数,(三)估计多元正态分布每个资产的标准差,Data 观察值矩阵,

38、Ynk 中n样本的个数,k是资产的数目 Design 自变量单元变量矩阵,如果 Y 只有一个资产时,Design 是一个单元向量,如果Y含有多于一个资产时,Design 是一个单元变量矩阵 Covariance 回归时的残值,调用方式,StdParameters, StdCovariance= mvnrstd(Data, Design, Covariance),输入参数,StdParameters 每个资产的标准差 StdCovariance 协方差,输出参数,(四)岭 回 归,线性回归中参数估计 ,如果观察值 X 存在自相关性,则 XTX是奇异矩阵,估计值就会出现非常大的误差,这时矩阵XTX

39、 需要加上一个对角元素是常数 k 的单位阵,即 。Matlab提供了岭回归 ridge 函数求解该问题。,b 模型估计参数,调用方式,b1 = ridge ( Y , X , k ) b0 = ridge ( Y , X , k,0 ),输入参数,Y 因变量观察值 X 自变量观察值 k k 表示控制系数,可以根据需 要进行选择。,输出参数,k = 0:0.01:1; b = ridge(heat, ingredients, k); plot(k, b); xlabel(Ridge parameter); ylabel(Standardized coef.); title(Ridge Trace

40、 for Hald Data) legend(x1,x2,x3,x4);,例2 对 hald 文件中的数据进行岭回归。,load hald,查看工作区中的变量。,who Your variables are : hald heat ingredients,五、主成分分析,主成分分析是在各个变量之间相关关系研究的基础上,用较少的新变量代替原来较多的变量,而且使这些较少的新变量尽可能多地保留原来较多的变量所反映的信息。,(一)主成分分析基本原理,首先对样本进行标准化处理,为简单起见,标准化后的样本仍记为X1 , X2 , X3 , , Xp 。,设样本为 X1 , X2 , X3 , , Xp,其

41、对应的样本均值为 对应的标准差为 S1 ,S2,S3 , , Sp 。,设 F1 , F2 , F3 , , Fp 是主成分,也即是 X1 , X2 , X3 , , Xp 的线性表示,同时满足下面的条件: 主成分是原样本的正交变换。 各主成分之间互不相关。 主成分的总方差不变。 主成分按方差从大到小排序。,主成分具有如下性质:,这一性质说明,主成分是原变量的线性组合,是对原变量信息的一种改良;主成分不增加总信息量,也不减少总信息量。,设 为主成分的特征值,前 k 个方差累积贡献率为 一般当累积贡献率大于 85 时不再增加新的主成分。,保留多少个主成分取决于保留部分的累积方差在总方差中占的百分

42、比(即累计贡献率),它标志着前几个主成分概括的信息的多寡。在实践中,粗略规定一个百分比就可以决定保留几个主成分,如果多留一个主成分,但累积方差增加无几,便不再多留。,(二)主成分分析函数,COEFF 主成分系数 SCORE 新坐标系 latent X的协方差矩阵的特征值 tsquare Hotelling 统计量的值,在Matlab中提供了两个主成分分析函数princomp和pcacov。,COEFF,SCORE=princomp(X) COEFF,SCORE,latent=princomp(X) COEFF,SCORE,latent,tsquare=princomp(X),输入参数,X 观察

43、变量,输出参数,调用方式,corrcoef ( ingredients ) ans = 1.0000 0.2286 -0.8241 -0.2454 0.2286 1.0000 -0.1392 -0.9730 -0.8241 -0.1392 1.0000 0.0295 -0.2454 -0.9730 0.0295 1.0000,例3 用Matlab自带数据进行主成分分析。Matlab中自带了数据文件 hald ,可以直接调用进行主成分分析。hald 数据考虑影响温度的 4 个因素,温度保存在 heat 变量中,4 个因素的观察值保存在 ingredients 中。由于 4 个因素之间存在相关性,

44、无法直接回归,为解决这个问题,首先进行主成分分析,生成四个主成分变量,主成分之间互不相关,而且和观察值的信息是同样的。,第一步:载入数据,考察变量之间的相关性。, load hald %载入Matlab自带的数据文件,考察相关性,发现自变量 2 与变量 3 之间的高度相关,所以需要剔除相关性。,第二步:主成分分析。, pc,score,latent,tsquare = princomp(ingredients),主成分系数,pc = 0.0678 0.6460 -0.5673 0.5062 0.6785 0.0200 0.5440 0.4933 -0.0290 -0.7553 -0.4036

45、0.5156 -0.7309 0.1085 0.4684 0.4844,主成分的方差贡献率,score = -36.8218 6.8709 4.5909 0.3967 -29.6073 -4.6109 2.2476 -0.3958 12.9818 4.2049 -0.9022 -1.1261 -23.7147 6.6341 -1.8547 -0.3786 0.5532 4.4617 6.0874 0.1424 10.8125 3.6466 -0.9130 -0.1350 32.5882 -8.9798 1.6063 0.0818 -22.6064 -10.7259 -3.2365 0.3243 9.2626 -8.9854 0.0169 -0.5437 3.2840 14.1573 -7.0465 0.3405 -9.2200 -12.3861 -3.4283 0.4352 25.5849 2.7817 0.3867 0.4468 26.9032 2.9310 2.4455 0.4116,协方差的特征值,latent = 517.7969 67.4964 12.4054 0.2372 tsquare = 5.6803 3.0758 6.0002 2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1