博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Matlab中polyfit和regress
阅读量:5086 次
发布时间:2019-06-13

本文共 3567 字,大约阅读时间需要 11 分钟。

1.表中是道琼斯工业指数(DJIA)和标准普尔500种股票指数(S&P500)1988年至1997年对应股票的收益率资料:

    年份

DJIA收益率(%)

S&P500收益率(%)

年份

DJIA收益率(%)

S&P500收益率(%)

1988

16.0

16.6

1993

16.8

10.1

1989

31.7

31.5

1994

4.9

1.3

1990

-0.4

-3.2

1995

36.4

37.6

1991

23.9

30.0

1996

28.6

23.0

1992

7.4

7.6

1997

24.9

33.4

计算两种指数收益率的相关系数,分析其相关程度,以0.05的显著性水平检验相关系数的显著性。

1 x  = [16.0 31.7 -0.4 23.9 7.4 16.8 4.9 36.4 28.6 24.9]; 2 y = [16.6 31.5 -3.2 30.0 7.6 10.1 1.3 37.6 23.0 33.4]; 3 scatter(x,y,'r*'); 4 xlabel('DJIA收益率(%)'); 5 ylabel('S&P500收益率(%)'); 6  p = polyfit(x,y,1);%1表示一次函数 7  hold on; 8  xx = -5:1:40; 9 yy = polyval(p,xx);10 plot(xx,yy,'b-');%画出来的是光滑的曲线11  grid;12 title('回归分析表')13 hold off;14 [r,p,rlo,rup] = corrcorf(x,y)%相关分析15  16 >> [r,p,rlo,rup] = corrcoef(x,y)17 18 r =19 20     1.0000    0.948121     0.9481    1.000022 23 24 p =25 26     1.0000    0.000027     0.0000    1.000028 29 30 rlo =31 32     1.0000    0.790333     0.7903    1.000034 35 36 rup =37 38     1.0000    0.988039     0.9880    1.000040 41 >> [i,j] = find(p<0.05);42 >> [i,j] = find(p<0.05)43 44 i =45 46      247      148 49 50 j =51 52      153      254 55  %r(i,j)表示相关系数56  %P表示假设检验的P-value值,P-value值越小表示的相关性越显著。57  %一般以P < 0.05 为显著, P<0.01 为非常显著

 附录:r(1,2) = r(2,1) = 0.9481便是相关系数,t = r*sqrt(n-2)/sqrt(1-r^2) = 8.4335,tα/2 = 2.31,则结果是显著的。

rlo和rup是r在%95可信度下的置信区间。

2.regress解决上题

 

1 x  = [16.0 31.7 -0.4 23.9 7.4 16.8 4.9 36.4 28.6 24.9]; 2 y = [16.6 31.5 -3.2 30.0 7.6 10.1 1.3 37.6 23.0 33.4]; 3  4 scatter(x,y,'r*'); 5 xlabel('DJIA收益率(%)'); 6 ylabel('S&P500收益率(%)'); 7  Y = y'; 8  X = [ones(length(y),1),x']; 9 [b,bint,r,rint,stats]=regress(Y,X)10 %下面是返回值11 b =12 13    -2.508614     1.119815 16 17 bint =18 19    -9.3225    4.305220     0.8137    1.425921 22 23 r =24 25     1.191826    -1.489127    -0.243528     5.745429     1.822130    -6.204031    -1.678432    -0.652233    -6.517734     8.025635 36 37 rint =38 39   -10.0742   12.457840   -11.9810    9.002941    -9.6540    9.167142    -4.3221   15.812843    -8.7610   12.405244   -16.1645    3.756545   -11.9494    8.592646   -10.4663    9.162047   -15.8388    2.803448    -0.7121   16.763349 50 51 stats =52 53     0.8990   71.1816    0.0000   23.581154 %ployval函数中第一个多项式系数(行向量)是按高到低,而regress中的b是从低到高,而且是个列向量,不可直55 56 %接bb = b',若是这样还需逆置(fliplr(bb)),或者直接顺时针旋转9057 %B=rot90(A):矩阵B是矩阵A沿逆时针方向旋转90。得到的58 %B=rot90(A,k):矩阵B是矩阵A沿逆时针方向旋转k*90。得到的(要想顺时针旋转,k取-1)59 60 xx = -5:5:40;61 yy = polyval(rot90(b,-1));62 hold on;63 plot(xx,yy,'r')64 grid

 

进行线性回归时,有4个基本假定:

  ① 因变量与自变量之间存在线性关系;

  ② 残差是独立的;

  ③ 残差满足方差奇性;

  ④ 残差满足正态分布。

  在Matlab软件包中有一个做一般多元回归分析的命令regeress,调用格式如下: [b, bint, r, rint, stats] = regress(y,X,alpha)  或者 [b, bint, r, rint, stats] = regress(y,X)  此时,默认alpha = 0.05.

这里,y是一个 的列向量,X是一个 的矩阵,其中第一列是全1向量(这一点对于回归来说很重要,这一个全1列向量对应回归方程的常数项),一般情况下,需要人工造一个全1列向量。

  回归方程具有如下形式:   其中, 是残差。 在返回项[b,bint,r,rint,stats]中,

  ① 是回归方程的系数; ② 是一个 矩阵,它的第 行表示 的(1-alpha)置信区间; ③ 是 的残差列向量; ④ 是 矩阵,它的第 行表示第 个残差 的(1-alpha)置信区间;

注释:残差与残差区间杠杆图,最好在0点线附近比较均匀的分布,而不呈现一定的规律性,如果是这样,就说明回归分析做得比较理想。 ⑤ 一般的, 返回4个值: 值、F_检验值、阈值 ,与显著性概率相关的 值(如果这个 值不存在,则,只输出前3项)。

注释: (1)一般说来, 值越大越好。 (2)人们一般用以下统计量对回归方程做显著性检验:F_检验、t_检验、以及相关系数检验法。Matlab软件包输出F_检验值和阈值 。一般说来,F_检验值越大越好,特别的,应该有F_检验值 。 (3)与显著性概率相关的 值应该满足 。如果 ,则说明回归方程中有多余的自变量,可以将这些多余的自变量从回归方程中剔除(见下面逐步回归的内容)。 这几个技术指标说明拟合程度的好坏。这几个指标都好,就说明回归方程是有意义的。

3.解同余方程组

1 >> syms n2 >> solve(mod(n,10) - 9,mod(n,9) - 8,mod(n,8) - 7)3 Warning: 3 equations in 1 variables.  4 Warning: Explicit solution could not be found. 5 > In solve at 816  7 ans =8  9 [ empty sym ]

注意:matlab里求余不是%也不是mod,而是rem(x,y)

上面的我估计方法不对,懂得指点下!

转载于:https://www.cnblogs.com/hxsyl/archive/2012/12/11/2812874.html

你可能感兴趣的文章
从熵增理论中我们到底悟到了什么……
查看>>
Vsphere笔记07 Vcenter 部署流程 2
查看>>
21.使用双重循环打印图形
查看>>
MySQL多线程数据导入导出工具Mydumper
查看>>
向现有的磁盘组加入/删除ASM磁盘
查看>>
mysql处理海量数据时的一些优化查询速度方法
查看>>
把字典按Key的字母顺序排序 IDictionary<string, string>
查看>>
《ios5编程揭秘》第二章 oc语言基础(1)
查看>>
【前端 5】拖拽
查看>>
[java]java String.split()函数的用法分析
查看>>
三种方式都能生成同样的列表
查看>>
vue-router 路由与 angular-route
查看>>
iis7下站点日志默认位置
查看>>
fastmonkey 压力测试
查看>>
BZOJ1742[Usaco2005 nov]Grazing on the Run 边跑边吃草
查看>>
用dom4j操作xml文件
查看>>
<<ffmpeg/ffplay源码剖析>> 笔记
查看>>
OC变量限定符和属性限定符
查看>>
实验一 命令解释程序的编写
查看>>
广义表的实现
查看>>