如何用matlab统计工具箱字母频数

01-MATLAB是什么_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
27页1下载券40页1下载券18页免费12页1下载券60页7下载券173页7下载券94页7下载券61页免费2页2下载券40页1下载券
喜欢此文档的还喜欢26页免费13页免费15页免费16页免费10页免费
01-MATLAB是什么|M​a​t​l​a​b​软​件​教​程
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢您现在正在浏览:
matlab中用于统计矩阵数据频率,出现次数的函数
发布时间:
15:37:20 &
浏览次数:
摘要: 原帖请看此处:/thread-.html第一种方法:调用MATLAB自带的函数tabul...
matlab中用于统计矩阵数据频率,出现次数的函数
原帖请看此处:/thread-.html
第一种方法:调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数、频率
【例1】统计数值型数组中各元素出现的频数、频率
>> x = [2
5];>> tabulate(x(:))Value
1.96%
【例2】统计字符串中各字符出现的频数、频率。
>> x = ['If x is a numeric array, TABLE is a numeric matrix.']';
>> tabulate(x)
Value
2.44%
【例3】统计字符型数组中各行元素出现的频数、频率。
>>
x = ['崔家峰';'孙乃喆';'安立群';'王洪武';'王玉杰';'高纯静';'崔家峰';
'叶 鹏';'关泽满';'谢中华';'王宏志';'孙乃喆';'崔家峰';'谢中华'];
>> tabulate(x)
Value
Percent
崔家峰
21.43%
孙乃喆
14.29%
安立群
7.14%
王洪武
7.14%
王玉杰
7.14%
高纯静
7.14%
叶 鹏
7.14%
关泽满
7.14%
谢中华
14.29%
王宏志
7.14%
【例4】统计字符串元胞数组中各字符串出现的频数、频率。
>> x = {'崔家峰';'孙乃喆';'安立群';'王洪武';'王玉杰';'高纯静';'崔家峰';
'叶鹏';'关泽满';'谢中华';'王宏志';'孙乃喆';'崔家峰';'谢中华'};
>> tabulate(x)
Value
Percent
崔家峰
21.43%
孙乃喆
14.29%
安立群
7.14%
王洪武
转载请保留出处:/web/515.html
上一篇:没有了
本周技术实现排行您的位置: &
利用SPSS统计软件分别绘制以频数和频率为纵坐标的直方图
摘 要:统计原理与计算机软件结合使用已成为当今统计教学的主导趋势,介绍的SPSS操作过程可以分别以频数和频率为纵坐标绘制出直方图,从而改进目前统计教材中仅以频数为纵坐标绘制直方图的操作方法。
优质期刊推荐据如下年份 职工工资总额 (亿元) 商品零售总额 (亿元) 78 23.8 41.4 79 27.6 51.8 80 31.6 61.7 81 32.4 67.9 82 33.7 68.7 82 34.9 77.5 84 43.2 95.9 85 52.8 137.4 86 63.8 155.0 87 73.4 175.0 1、年份数据以1为增量,用产生向量的方法输入。 命令格式: x=a:h:b t=78:87 2、分别以x和y代表变量职工工资总额和商品零售总额。 x=[23.8,27.6,31.6,32.4,33.7,34.9,43.2,52.8,63.8,73.4] y=[41.4,51.8,61.7,67.9,68.7,77.5,95.9,137.4,155.0,175.0] 3、将变量t、x、y的数据保存在文件data中。 save data t x y4、进行统计分析时,调用数据文件data中的数据。 load dataTo MATLAB(txy) 1、输入矩阵: data=[78,79,80,81,82,83,84,85,86,87,88; 23.8,27.6,31.6,32.4,33.7,34.9,43.2,52.8,63.8,73.4; 41.4,51.8,61.7,67.9,68.7,77.5,95.9,137.4,155.0,175.0] 2、将矩阵data的数据保存在文件data1中:save data1 data3、进行统计分析时,先用命令: load data1 调用数据文件data1中的数据,再用以下命令分别将矩阵 data的第一、二、三行的数据赋给变量t、x、y: t=data(1,:) x=data(2,:) To MATLAB(data) y=data(3,:) 若要调用矩阵data的第j列的数据,可用命令: 返回 data(:,j) 二、基本统计量 对随机变量x,计算其基本统计量的命令如下:均值:mean(x) 中位数:median(x) 标准差:std(x) 方差:var(x) 偏度:skewness(x) 峰度:kurtosis(x) 例 对例1中的职工工资总额x, 可计算上述基本统计量。To MATLAB(tjl)返回 三、常见概率分布的函数常见的几种分布的命令字符为: 正态分布:norm 指数分布:exp帕松分布:poiss 威布尔分布:weib?分布:betat 分布:t? 2 分布:chi2 F 分布:FMatlab工具箱对每一种分布都提供五类函数,其命令字符为: 概率密度:pdf 概率分布:cdf 逆概率分布:inv 均值与方差:stat 随机数生成:rnd(当需要一种分布的某一类函数时,将以上所列的分布命令字符 与函数命令字符接起来,并输入自变量(可以是标量、数组或矩阵) 和参数即可.) 如对均值为mu、标准差为sigma的正态分布,举例如下:1、密度函数:p=normpdf(x,mu,sigma) (当mu=0,sigma=1时可缺省)例 2 画出正态分布 N (0,1) 和N (0,2 2 ) 的概率密度函数图形. 在Matlab中输入以下命令: x=-6:0.01:6; y=normpdf(x); z=normpdf(x,0,2); plot(x,y,x,z)To MATLAB(liti2) 2、概率分布:P=normcdf(x,mu,sigma)例 3. 计算标准正态分布的概率 P{-1&X&1}. 命令为:P=normcdf(1)-normcdf(-1) 结果为:P =0.6827To MATLAB(liti3)3、逆概率分布:x=norminv(P,mu,sigma). 即求出x ,使得 P{X&x}=P.此命令可用来求分位数.例4 取? ? 0.05 ,求u1??2u1??2u 的含义是: X ~ N ( 0,1) ,P{X&1??21 }= ??2? ? 0.05 时,P=0.975, u 0.975 ? norminv(0.975)=1.96To MATLAB(liti4) 4、均值与方差:[m,v]=normstat(mu,sigma) 例5 求正态分布N(3,52)的均值与方差. 命令为:[m,v]=normstat(3,5) 结果为:m=3,v=25 To MATLAB(liti5)5、随机数生成:normrnd(mu,sigma,m,n).产生m?n阶的正态 分布随机数矩阵.例6 命令:M=normrnd([1 2 3;4 5 6],0.1,2,3) 结果为:M=0.5 2.4 5.1此命令产生了2?3的正态分布随机数矩阵,各数分别 服从N(1,0.12), N(2,22), N(3, 32), N(4,0.12), N(5, 22),N(6, 32)返回To MATLAB(liti6) 四、频 数 直 方 图 的 描 绘1、给出数组data的频数表的命令为: [N,X]=hist(data,k) 此命令将区间[min(data),max(data)]分为k个小 区间(缺省为10),返回数组data落在每一个小区 间的频数N和每一个小区间的中点X. 2、描绘数组data的频数直方图的命令为: hist(data,k)返回 五、参数估计1、正态总体的参数估计 设总体服从正态分布,则其点估计和区间估计可同时由以下 命令获得: [muhat,sigmahat,muci,sigmaci] = normfit(X,alpha)此命令在显著性水平alpha下估计数据X的参数(alpha 缺省时设定为0.05),返回值muhat是X的均值的点估计值, sigmahat是标准差的点估计值, muci是均值的区间估 计,sigmaci是标准差的区间估计. 2、其它分布的参数估计 有两种处理办法: 一.取容量充分大的样本(n&50),按中心极限定理,它近似地 服从正态分布; 二.使用Matlab工具箱中具有特定分布总体的估计命令. (1)[muhat, muci] = expfit(X,alpha)----- 在显著 性水平alpha下,求指数分布的数据X的均值的点估计及其区间估 计. (2)[lambdahat, lambdaci] = poissfit(X,alpha)---- 在显著性水平alpha下,求泊松分布的数据X 的参数的点 估计及其区间估计. (3)[phat, pci] = weibfit(X,alpha)----- 在显著性 水平alpha下,求Weibull分布的数据X 的参数的点估计及其区 间估计. 返回 六、假设检验在总体服从正态分布的情况下,可用以下命令进行假设检验. 1、总体方差sigma2已知时,总体均值的检验使用 z-检验 [h,sig,ci] = ztest(x,m,sigma,alpha,tail) 检验数据 x 的关于均值的某一假设是否成立,其中sigma 为 已知方差, alpha 为显著性水平,究竟检验什么假设取决于 tail 的取值: tail = 0,检验假设“x 的均值等于 m ” tail = 1,检验假设“x 的均值大于 m ” tail =-1,检验假设“x 的均值小于 m ” tail的缺省值为 0, alpha的缺省值为 0.05. 返回值 h 为一个布尔值,h=1 表示可以拒绝假设,h=0 表示不可以拒绝假设,sig 为假设成立的概率,ci 为均值的 1-alpha 置信区间. 例7 Matlab统计工具箱中的数据文件gas.mat.中提供了美国1993年一月份和二 月份的汽油平均价格(price1,price2分别是一,二月份的油价,单位为美分), 它是容量为20的双样本.假设一月份油价的标准偏差是一加仑四分币(?=4), 试检验一月份油价的均值是否等于115. 解 作假设:m = 115. 首先取出数据,用以下命令: To MATLAB(liti7) load gas 然后用以下命令检验 [h,sig,ci] = ztest(price1,115,4) 返回:h = 0,sig = 0.8668,ci = [113.0]. 检验结果: 1. 布尔变量h=0, 表示不拒绝零假设. 说明提出的假设均值115 是合理的. 2. sig-值为0.8668, 远超过0.5, 不能拒绝零假设 3. 95%的置信区间为[113.4, 116.9], 它完全包括115, 且精度很 高. . 2、总体方差sigma2未知时,总体均值的检验使用t-检验[h,sig,ci] = ttest(x,m,alpha,tail) 检验数据 x 的关于均值的某一假设是否成立,其中 alpha 为显著性水平,究竟检验什么假设取决于 tail 的取值: tail = 0,检验假设“x 的均值等于 m ” tail = 1,检验假设“x 的均值大于 m ” tail =-1,检验假设“x 的均值小于 m ” tail的缺省值为 0, alpha的缺省值为 0.05. 返回值 h 为一个布尔值,h=1 表示可以拒绝假设,h=0 表示不可以拒绝假设,sig 为假设成立的概率,ci 为均值的 1-alpha 置信区间. 例8 试检验例8中二月份油价 Price2的均值是否等于115. 解 作假设:m = 115, price2为二月份的油价,不知其方差,故用以下命令检验 [h,sig,ci] = ttest( price2 ,115) To MATLAB(liti8)返回:h = 1,sig = 4.,ci =[116.8 120.2].检验结果: 1. 布尔变量h=1, 表示拒绝零假设. 说明提出的假 设油价均值115是不合理的. 2. 95%的置信区间为[116.8 120.2], 它不包括 115, 故不能接受假设. 3. sig-值为4., 远小于0.5, 不能接受零 假设. 3、两总体均值的假设检验使用 t-检验 [h,sig,ci] = ttest2(x,y,alpha,tail) 检验数据 x ,y 的关于均值的某一假设是否成立,其中 alpha 为显著性水平,究竟检验什么假设取决于 tail 的取值: tail = 0,检验假设“x 的均值等于 y 的均值 ” tail = 1,检验假设“x 的均值大于 y 的均值 ” tail =-1,检验假设“x 的均值小于 y 的均值 ” tail的缺省值为 0, alpha的缺省值为 0.05. 返回值 h 为一个布尔值,h=1 表示可以拒绝假设,h=0 表示不可以拒绝假设,sig 为假设成立的概率,ci 为与x与y 均值差的的 1-alpha 置信区间. 例9 试检验例8中一月份油价Price1与二月份的油价Price2均值是否相同.解 用以下命令检验 [h,sig,ci] = ttest2(price1,price2)To MATLAB(liti9)返回:h = 1,sig = 0.0083,ci =[-5.8,-0.9].检验结果:1. 布尔变量h=1, 表示拒绝零假设. 说明提出的 假设“油价均值相同”是不合理的. 2. 95%的置信区间为[-5.8,-0.9],说明一月份油 价比二月份油价约低1至6分. 3. sig-值为0.0083, 远小于0.5, 不能接受“油价均 相同”假设. 4、非参数检验:总体分布的检验Matlab工具箱提供了两个对总体分布进行检验的命令: (1)h = normplot(x) 此命令显示数据矩阵x的正态概率图.如果数据来自 于正态分布,则图形显示出直线性形态.而其它概率分布 函数显示出曲线形态. (2)h = weibplot(x)此命令显示数据矩阵x的Weibull概率图.如果数据来 自于Weibull分布,则图形将显示出直线性形态.而其 它概率分布函数将显示出曲线形态. 返回 例10 一道工序用自动化车床连续加工某种零件,由于刀具损坏等会出现故障. 故障是完全随机的,并假定生产任一零件时出现故障机会均相同.工作人员是 通过检查零件来确定工序是否出现故障的.现积累有100次故障纪录,故障出现 时该刀具完成的零件数如下: 459 362 624 542 509 584 433 748 815 505 612 452 434 982 640 742 565 706 593 680 926 653 164 487 734 608 428
527 552 513 781 474 388 824 538 862 659 775 859 755 49 697 515 628 954 771 609 402 960 885 610 292 837 473 677 358 638 699 634 555 570 84 416 606
447 654 564 339 280 246 687 539 790 581 621 724 531 512 577 496 468 499 544 645 764 558 378 765 666 763 217 715 310 851 试观察该刀具出现故障时完成的零件数属于哪种分布. 解 1、数据输入To MATLAB(liti101)To MATLAB(liti102) 2、作频数直方图 hist(x,10) (看起来刀具寿命服从正态分布)3、分布的正态性检验 To MATLAB(liti103) normplot(x) (刀具寿命近似服从正态分布)To MATLAB(liti104) 4、参数估计: [muhat,sigmahat,muci,sigmaci] = normfit(x) 估计出该刀具的均值为594,方差204,均值的 0.95置信区间为[ 553.38],方差的 0.95置信区间为[ 179.29]. 5、假设检验To MATLAB (liti105)已知刀具的寿命服从正态分布,现在方差未知 的情况下,检验其均值 m 是否等于594.结果:h = 0,sig = 1,ci =[553.38]. 检验结果: 1. 布尔变量h=0, 表示不拒绝零假设. 说 明提出的假设寿命均值594是合理的. 2. 95%的置信区间为[553.5,634.5], 它 完全包括594, 且精度很高. 3. sig-值为1, 远超过0.5, 不能拒绝零假 设.返回 1、某校60名学生的一次考试成绩如下: 93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55 1)计算均值、标准差、极差、偏度、峰度,画出直方图; 2)检验分布的正态性; 3)若检验符合正态分布,估计正态分布的参数并检验参数. 2、据说某地汽油的价格是每加仑115美分,为了验证这种 说法,一位学者开车随机选择了一些加油站,得到某年一 月和二月的数据如下: 一月:119 117 115 116 112 121 115 122 116 118 109 112 119 112 117 113 114 109 109 118 二月:118 119 115 122 118 121 120 122 128 116 120 123 121 119 117 119 128 126 118 1251)分别用两个月的数据验证这种说法的可靠性; 2)分别给出1月和2月汽油价格的置信区间; 3)给出1月和2月汽油价格差的置信区间. 统计工具箱中的回归分析命令1、多元线性回归2、多项式回归 3、非线性回归 4、逐步回归 返回 多元线性回归y ? ? 0 ? ?1 x1 ? ... ? ? p x p1、确定回归系数的点估计值:b=regress( Y, X )? Y1 ? ?Y ? Y ? ? 2? ? ... ? ? ? ?Yn ?? ??0 ? ?? ? ? b?? 1? ? ... ? ? ? ? ?? p ? ? ?? 1 x11 ?1 x 21 X ?? ?... ... ? ? 1 x n1 ?x12 x 22 ... xn 2... x1 p ? ... x 2 p ? ? ... ... ? ? ... x np ? ?对一元线性回归,取 p=1 即可 2、求回归系数的点估计和区间估计、并检验回归模型: [b, bint,r,rint,stats]=regress(Y,X,alpha)回 归 系 数 的 区 间 估 计 残 差 置 信 区 间 用于检验回归模型的统计量, 有三个数值:相关系数r2、 F值、与F对应的概率p ( 缺 省显 时著 为性 0 水 平 05 ).相关系数 r2 越接近 1,说明回归方程越显著; F & F1-α (k,n-k-1)时拒绝 H0,F 越大,说明回归方程越显著;? 与 F 对应的概率 p ? 时拒绝 H0 ,回归模型成立.3、画出残差及其置信区间:rcoplot(r,rint) 例1 解:1、输入数据: x=[143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]'; 题目 X=[ones(16,1) x]; Y=[88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102]'; 2、回归分析及检验: [b,bint,r,rint,stats]=regress(Y,X) b,bint,stats得结果:b = -16.4 stats = 0.9282 即 180.0? ? ? 0 ? ?16 .073 , ? 1 ? 0.7194To MATLAB(liti11)1.5612bint = -33.7 0.8340? ? ? ? ; 0 的置信区间为[-33.2], 1 的置信区间为[0.];r2=0.9282, F=180.9531, p=0.0000 p&0.05, 可知回归模型 y=-16.073+0.7194x 成立. 3、残差分析,作残差图: rcoplot(r,rint) 从残差图可以看出,除第二个数据外,其余数据的残 差离零点均较近,且残差的置信区间均包含零点,这说明 回归模型 y=-16.073+0.7194x能较好的符合原始数据,而第 二个数据可视为异常点.Residual Case Order Plot 44、预测及作图: z=b(1)+b(2)*x plot(x,Y,'k+',x,z,'r')3 2 1Residuals0 -1 -2 -3 -4 -5 2 4 6 8 10 Case Number 12 14 16To MATLAB(liti12) 返回 多项式回归 (一)一元多项式回归 y=a1xm+a2xm-1+…+amx+am+1 1、回归: (1)确定多项式系数的命令:[p,S]=polyfit(x,y,m) 其中 x=(x1 ,x2 ,?,xn ) ,y=(y1 ,y2 ,?,yn ) ; p=(a1 ,a2 ,?,am+1 )是多项式 y=a1 xm+a2 xm-1 +?+amx+am+1 的系数;S 是一个矩阵,用来估计预测误差. (2)一元多项式回归命令:polytool(x,y,m) 2、预测和预测误差估计: (1)Y=polyval(p,x)求polyfit所得的回归多项式在x处 的预 测值Y; (2)[Y,DELTA]=polyconf(p,x,S,alpha)求polyfit所得 的回归多项式在x处的预测值Y及预测值的显著性为1alpha的置信区间Y? DELTA;alpha缺省时为0.5. 例 2 观测物体降落的距离 s 与时间 t 的关系,得到数据如下表,求 s ? 关于 t 的回归方程s ? a ? bt ? ct 2 .t s t s (s) (cm) (s) (cm) 1/30 11.86 8/30 61.49 2/30 15.67 9/30 72.90 3/30 20.60 10/30 85.44 4/30 26.69 11/30 99.08 5/30 33.71 12/30 113.77 6/30 41.93 13/30 129.54 7/30 51.13 14/30 146.48法一 直接作二次多项式回归: t=1/30:1/30:14/30; s=[11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48]; [p,S]=polyfit(t,s,2) To MATLAB(liti21) 得回归模型为 : ? s ? 489.2946 2 ? 65.8896 ? 9.1329 t t 法二 化为多元线性回归: To MATLAB(liti22) t=1/30:1/30:14/30; s=[11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48]; T=[ones(14,1) t' (t.^2)']; [b,bint,r,rint,stats]=regress(s',T); b,stats 得回归模型为 : ? s ? 9.6 ? 489.2946 2 t t预测及作图Y=polyconf(p,t,S) plot(t,s,'k+',t,Y,'r') To MATLAB(liti23) (二)多元二项式回归命令:rstool(x,y,’model’, alpha) n?m矩阵 n维列向量显著性水平 (缺省时为0.05)由下列 4 个模型中选择 1 个(用字符串输入,缺省时为线性模型): linear(线性): y ? ? 0 ? ? 1 x 1 ? ? ? ? m x m purequadratic(纯二次):y ? ? 0 ? ? 1 x1 ? ? ? ? m x m ? ? ? jj x 2 jj ?11? j ? k ? mninteraction(交叉): y ? ? 0 ? ? 1 x1 ? ? ? ? m x m ??? jk x j x k ? jk x j x kquadratic(完全二次): y ? ? 0 ? ? 1 x1 ? ? ? ? m x m ?1? j , k ? m? 例3 设某商品的需求量与消费者的平均收入、商品价格的统计数 据如下,建立回归模型,预测平均收入为1000、价格为6时 的商品需求量.需求量 收入 价格 100
500 6 50 300 8 65 400 7 90
300 92 2 选择纯二次模型,即 y ? ? 0 ? ?1 x1 ? ? 2 x 2 ? ?11 x1 ? ? 22 x 2法一 直接用多元二项式回归: x1=[0 500 300 400 00 300]; x2=[5 7 6 6 8 7 5 4 3 9]; y=[100 75 80 70 50 65 90 100 110 60]'; x=[x1' x2']; rstool(x,y,'purequadratic') 在左边图形下方的方框中输入1000,右边图形下方的方框中输入6。 则画面左边的“Predicted Y”下方的数据变为88.47981,即预测 出平均收入为1000、价格为6时的商品需求量为88.4791. 在画面左下方的下拉式菜单中选”all”, 则beta、rmse和residuals都 传送到Matlab工作区中. 在Matlab工作区中输入命令: beta, rmse得结果:beta = 110.4 -26.1 1.8475 rmse = 4.53622 故回归模型为: y ? 110.4x1 ? 26.5709x 2 ? 0.0001 1 ? 1. 剩余标准差为 4.5362, 说明此回归模型的显著性较好.To MATLAB(liti31) 法二2 2 y ? ? 0 ? ?1 x1 ? ? 2 x 2 ? ?11 x1 ? ? 22 x 2 将 化为多元线性回归: X=[ones(10,1) x1' x2' (x1.^2)' (x2.^2)']; [b,bint,r,rint,stats]=regress(y,X); b,stats To MATLAB(liti32) 结果为: b = 110.4 -26.1 1.8475 stats = 返回 0.6 0.0005 非线性回 归 1、回归:是事先用m-文件定 义的非线性函数(1)确定回归系数的命令: [beta,r,J]=nlinfit(x,y,’model’, beta0) 估计出的 回归系数 残差 输入数据x、y分别为 n? m矩阵和n维列向 量,对一元非线性回 归,x为n维列向量。 回归系数 的初值Jacobian矩阵(2)非线性回归命令:nlintool(x,y,’model’, beta0,alpha) 2、预测和预测误差估计: [Y,DELTA]=nlpredci(’model’, x,beta,r,J) 求nlinfit 或nlintool所得的回归函数在x处的预测值Y及预测值的显 著性为1-alpha的置信区间Y ? DELTA. 例 4 对第一节例2,求解如下:题目e 1、对将要拟合的非线性模型 y=a b / x ,建立 m-文件 volum.m 如下:function yhat=volum(beta,x) yhat=beta(1)*exp(beta(2)./x);2、输入数据: x=2:16; y=[6.42 8.20 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.80 10.60 10.90 10.76]; beta0=[8 2]'; To MATLAB(liti41) 3、求回归系数: [beta,r ,J]=nlinfit(x',y','volum',beta0); beta 即得回归模型为: 得结果:beta = 1.6 ? y ? 11.6036 e x -1.0641 4、预测及作图: [YY,delta]=nlpredci('volum',x',beta,r ,J); plot(x,y,'k+',x,YY,'r') To MATLAB(liti42) 例5 财政收入预测问题:财政收入与国民收入、工业总产值、 农业总产值、总人口、就业人口、固定资产投资等因素有关。 下表列出了年的原始数据,试构造预测模型。解 设国民收入、工业总产值、农业总产值、总人口、就业 人口、固定资产投资分别为x1、x2、x3、x4、x5、x6,财政收 入为y,设变量之间的关系为: y= ax1+bx2+cx3+dx4+ex5+fx6 使用非线性回归方法求解。 1. 对回归模型建立M文件model.m如下: function yy=model(beta0,X) a=beta0(1); b=beta0(2); c=beta0(3); d=beta0(4); e=beta0(5); f=beta0(6); x1=X(:,1); x2=X(:,2); x3=X(:,3); x4=X(:,4); x5=X(:,5); x6=X(:,6); yy=a*x1+b*x2+c*x3+d*x4+e*x5+f*x6; 2. 主程序liti6.m如下: X=[598.00 349.00 461.00 29.00 44.00 ………………………………………………………….. 2.00 072.0 .00]; y=[184.00 216.00 248.00 254.00 268.00 286.00 357.00 444.00 506.00 ... 271.00 230.00 266.00 323.00 393.00 466.00 352.00 303.00 447.00 ... 564.00 638.00 658.00 691.00 655.00 692.00 657.00 723.00 922.00 ... 890.00 826.00 810.0]'; beta0=[0.50 -0.03 -0.60 0.01 -0.02 0.35]; betafit = nlinfit(X,y,'model',beta0) To MATLAB(liti6) 结果为:betafit = 0.4 -0.2 -0.8即y= 0......3658x6返回 逐步回归显著性水平(缺省时为0.5)逐步回归的命令是: stepwise(x,y,inmodel,alpha)自变量数据, n? m 阶矩阵因变量数据, n阶矩阵 ?1矩阵的列数的指标,给出初 始模型中包括的子集(缺省 时设定为全部自变量)运行stepwise命令时产生三个图形窗口:Stepwise Plot, Stepwise Table,Stepwise History. 在Stepwise Plot窗口,显示出各项的回归系数及其置信区间.Stepwise Table 窗口中列出了一个统计表,包括回归系数及 其置信区间,以及模型的统计量剩余标准差(RMSE)、相关系 数(R-square)、F值、与F对应的概率P. 例6 水泥凝固时放出的热量y与水泥中4种化学成分x1、x2、x3、 x4 有关,今测得一组数据如下,试用逐步回归法确定一个 线性模 型.序号1 7 26 6 6078.52 1 29 15 5274.33 11 56 8 20104.34 11 31 8 4787.65 7 52 6 3395.96 11 55 9 22109.27 3 71 17 6102.78 1 31 22 4472.59 2 54 18 2293.110 21 47 4 26115.911 1 40 23 3483.812 11 66 9 12113.313 10 68 8 12109.4x1 x2 x3 x4y1、数据输入: x1=[7 1 11 11 7 11 3 1 2 21 1 11 10]'; x2=[26 29 56 31 52 55 71 31 54 47 40 66 68]'; x3=[6 15 8 8 6 9 17 22 18 4 23 9 8]'; x4=[60 52 20 47 33 22 6 44 22 26 34 12 12]'; y=[78.5 74.3 104.3 87.6 95.9 109.2 102.7 72.5 93.1 115.9 83.8 113.3 109.4]'; x=[x1 x2 x3 x4]; 2、逐步回归: (1)先在初始模型中取全部自变量: stepwise(x,y) 得图Stepwise Plot 和表Stepwise Table 图Stepwise Plot中四条直线都是虚 线,说明模型的显著性不好 从表Stepwise Table中看出变 量x3和x4的显著性最差. (2)在图Stepwise Plot中点击直线3和直线4,移去变量x3和x4 移去变量x3和x4后模型具有显著性.虽然剩余标准差(RMSE)没 有太大的变化,但是统计量F的 值明显增大,因此新的回归模型 更好.To MATLAB(liti51) (3)对变量y和x1、x2作线性回归: X=[ones(13,1) x1 x2]; To MATLAB(liti52) b=regress(y,X) 得结果:b = 52.3 0.6623 故最终模型为:y=52.3x1+0.6623x2返回 1、考察温度x对产量y的影响,测得下列10组数据:温度(℃) 20 产量(kg) 13.2 25 15.1 30 16.4 35 17.1 40 17.9 45 18.7 50 19.6 55 21.2 60 22.5 65 24.3求y关于x的线性回归方程,检验回归效果是否显著,并预测 x=42℃时产量的估值及预测区间(置信度95%). 2、某零件上有一段曲线,为了在程序控制机床上加工这一零 件,需要求这段曲线的解析表达式,在曲线横坐标xi处测得纵 坐标yi共11对数据如下:xi yi 0 0.6 2 2.0 4 4.4 6 7.5 8 11.8 10 17.1 12 23.3 14 31.2 16 39.6 18 49.7 20 61.7求这段曲线的纵坐标y关于横坐标x的二次多项式回归方程. 3、 在研究化学动力学反应过程中,建立了一个反应速度和反应物?1 x2 ?x3含量的数学模型,形式为 y ??51 ? ? 2 x1 ? ? 3 x 2 ? ? 4 x 3 其中 ? 1 , ? , ? 5 是未知参数, x1 , x 2 , x 3 是三种反应物(氢,n 戊烷,异构戊烷)的含量,y 是反应速度.今测得一组数据如表 4,试由 此确定参数 ? 1 , ? , ? 5 ,并给出置信区间.? 1 , ? , ? 5 的参考值为 (1,0.05, 0.02, 0.1, 2).序号 1 2 3 4 5 6 7 8 9 10 11 12 13 反应速度 y 8.55 3.79 4.82 0.02 2.75 14.39 2.54 4.35 13.00 8.50 0.05 11.32 3.13 氢 x1 470 285 470 470 470 100 100 470 100 100 100 285 285 n 戊烷 x2 300 80 300 80 80 190 80 190 300 300 80 300 190 异构戊烷 x3 10 10 120 120 10 10 65 65 54 120 120 10 120 4、混凝土的抗压强度随养护时间的延长而增加,现将一批 混凝土作成12个试块,记录了养护日期x(日)及抗压强度y (kg/cm2)的数据:养护时间 x 抗压强度 y2 353 424 475 537 599 6512 6814 7317 7621 8228 8656 99? 试求 y ? a ? b ln x 型回归方程.
MATLAB中基本的统计和回归命令-是一个在线免费学习平台、通过收集整理大量专业知识,职业资料、考试资料,考试复习指导,试题资料等给大家分享;同时提供学习互动交流;更好的帮助大家学习。

我要回帖

更多关于 matlab统计工具箱 的文章

 

随机推荐