matlab与统计回归分析.docx
- 文档编号:4324159
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:21
- 大小:95.32KB
matlab与统计回归分析.docx
《matlab与统计回归分析.docx》由会员分享,可在线阅读,更多相关《matlab与统计回归分析.docx(21页珍藏版)》请在冰豆网上搜索。
matlab与统计回归分析
一Matlab作方差分析
方差分析是分析试验(或观测)数据的一种统计方法。
在工农业生产和科学研究中,经常要分析各种因素及因素之间的交互作用对研究对象某些指标值的影响。
在方差分析中,把试验数据的总波动(总变差或总方差)分解为由所考虑因素引起的波动(各因素的变差)和随机因素引起的波动(误差的变差),然后通过分析比较这些变差来推断哪些因素对所考察指标的影响是显著的,哪些是不显著的。
【例1】(单因素方差分析)一位教师想要检查3种不同的教学方法的效果,为此随机地选取水平相当的15位学生。
把他们分为3组,每组5人,每一组用一种方法教学,一段时间以后,这位教师给15位学生进行统考,成绩见下表1。
问这3种教学方法的效果有没有显著差异。
表1学生统考成绩表
方法
成绩
甲
75
62
71
58
73
乙
71
85
68
92
90
丙
73
79
60
75
81
Matlab中可用函数anova1(…)函数进行单因子方差分析。
调用格式:
p=anova1(X)
含义:
比较样本m×n的矩阵X中两列或多列数据的均值。
其中,每一列表示一个具有m个相互独立测量的独立样本。
返回:
它返回X中所有样本取自同一总体(或者取自均值相等的不同总体)的零假设成立的概率p。
解释:
若p值接近0(接近程度有解释这自己设定),则认为零假设可疑并认为至少有一个样本均值与其它样本均值存在显著差异。
Matlab程序:
Score=[7562715873;8185689290;7379607581]’;
P=anova1(Score)
输出结果:
方差分析表和箱形图
ANOVATable
SourceSSdfMSFProb>F
Columns604.93332302.46674.25610.040088
Error852.81271.0667
Total1457.733314
由于p值小于0.05,拒绝零假设,认为3种教学方法存在显著差异。
例2(双因素方差分析)为了考察4种不同燃料与3种不同型号的推进器对火箭射程(单位:
海里)的影响,做了12次试验,得数据如表2所示。
表2燃料-推进器-射程数据表
推进器1
推进器2
推进器3
燃料1
58.2
56.2
65.3
燃料2
49.1
54.1
51.6
燃料3
60.1
70.9
39.2
燃料4
75.8
58.2
48.7
在Matlab中利用函数anova2函数进行双因素方差分析。
调用格式:
p=anova2(X,reps)
含义:
比较样本X中两列或两列以上和两行或两行以上数据的均值。
不同列的数据代表因素A的变化,不同行的数据代表因素B的变化。
若在每个行-列匹配点上有一个以上的观测量,则参数reps指示每个单元中观测量的个数。
返回:
当reps=1(默认值)时,anova2将两个p值返回到向量p中。
H0A:
因素A的所有样本(X中的所有列样本)取自相同的总体;
H0B:
因素B的所有样本(X中的所有行样本)取自相同的总体。
当reps>1时,anova2还返回第三个p值:
H0AB:
因素A与因素B没有交互效应。
解释:
如果任意一个p值接近于0,则认为相关的零假设不成立。
Matlab程序:
disp1=[58.256.265.3;49.154.151.6;60.170.939.2;75.858.248.7]’;
p=anova2(disp1,1)
输出结果:
方差分析表
ANOVATable
SourceSSdfMSFProb>F
Columns157.59352.530.430590.73875
Rows223.84672111.92330.917430.44912
Error731.986121.9967
Total1113.416711
由于燃料和推进器对应的p值均大于0.05,所以可以接受零假设H0A和H0B,认为燃料和推进器对火箭的射程没有显著影响。
例3(双因素方差分析)设火箭的射程在其它条件基本相同时与燃料种类及推进器型号有关。
现在考虑4种不同的燃料及3种不同型号的推进器,对于每种搭配个发射了火箭两次,得数据见表3。
问各自变量和自变量的交互效应是否对火箭的射程有显著影响?
表3燃料-推进器-射程数据表
推进器1
推进器2
推进器3
燃料1
58.2
52.6
56.2
41.2
65.3
60.8
燃料2
49.1
42.8
54.1
50.5
51.6
48.4
燃料3
60.1
58.3
70.9
73.2
39.2
40.7
燃料4
75.8
71.5
58.2
51.0
48.7
41.4
Matlab程序:
disp2=[58.252.649.142.860.158.375.871.5;56.241.254.150.570.973.258.251.0;65.360.851.648.439.240.748.741.4]’;
p=anova2(disp2,2)
输出结果:
方差分析表
ANOVATable
SourceSSdfMSFProb>F
Columns370.98082185.49049.39390.003506
Rows261.675387.2254.41740.025969
Interaction1768.69256294.782114.92886.1511e-005
Error236.951219.7458
Total2638.298323
显著。
方差分析上机练习
为研究广告的效果,考察4种广告方式:
当地报纸(paper)、当地广播(radio)、店内销售员(people)和店内展示(display)的效果。
共设有144个销售点,每种广告随机抽取36个销售点记录销售额,分布在6个地区的144个销售点的销售情况生成的数据集ADS见下表。
数据集ADS中有3个变量:
AD表示广告的类型、AREA表示地区、SALES表示销售额(单位:
千元)。
请完成以下练习:
(1)概括下列数据:
用箱形图、条形图直观地呈现四种广告方式下销售量的分布情况;计算四种广告方式下销售量的均值、方差、标准差、最大和最小值;
(2)进行单因素方差分析:
检验四种广告方式下销售量数据是否服从正态分布,方差是否相等;检验四种广告方式下的销售量是否有显著差异(
);若四种广告方式下的销售量有显著差异,指出哪些类型的广告效果有显著的不同?
(3)在设计广告效果的试验时,虽然地区差异对销售量的影响并不是我们感兴趣的,但希望排除这一因素的影响。
数据集ADS记录了各个销售点所在的地区AREA。
试用双因素方差分析方法分析销售数据,并指出广告方式和地区对销售量是否有显著影响(
)?
广告方式(AD)与地区(AREA)之间有无交互效应?
表ADS数据集中的数据
广告方式
(变量:
AD)
销售额(单位:
千元)(变量SALES)
地区1
地区2
地区3
地区4
地区5
地区6
当地报纸
(paper)
755776
687583
777572
666676
768163
708662
945470
885686
876565
847778
796275
806270
当地广播
(radio)
6951100
547879
907760
837469
337973
687565
1006168
705373
686383
796665
767374
815765
店内销售员
(people)
636785
588278
808762
877077
707540
686155
644067
767077
516175
427165
645062
783783
店内展示
(display)
526161
414486
765752
757563
336960
526143
616641
694351
655850
605255
444558
524560
参考答案
(1)箱形图:
boxplot(ads)结果:
有异常值。
(其它:
略)
(2)正态性检验Paper:
Hist(X1,6)
频数直方图
分布的正态性检验:
normplot(X1)
均服从正态分布。
单因素方差分析
ANOVATable
SourceSSdfMSFProb>F
Columns5866.083331955.361113.48318.8495e-008
Error20303.2222140145.023
Total26169.3056143
P=8.8495e-008<0.01,四种广告方式下的销售量是否有显著差异。
对应的箱形图为:
当地媒体和电台广播与点内展示有显著不同。
(3)
ANOVATable
SourceSSdfMSFProb>F
Columns1444.22225288.84441.95820.089763
Rows5866.083331955.361113.25591.5637e-007
Interaction11581577.20.523360.92341
Error17701120147.5083
Total26169.3056143
从以上分析结果可知:
0.05 P2=1.5637e-007<0.01<0.1,无论哪种检验水平,广告方式对销售量都有显著影响; P3=0.92341>0.1,地区和广告方式对销售量无交互效应。 二Matlab作回归分析 回归分析的相关数学理论可以参见《概率论与数理统计教程》,下面仅以示例说明如何利用matlab处理回归分析。 1.一元线性回归分析 【例1】为了了解百货商店销售额x与流通费率(反映商业活动的一个质量指标,指每元商品流转额所分摊的流通费用)y之间的关系,收集了九个商店的有关数据,见下表1.试建立流通费率y与销售额x的回归方程。 表1销售额与流通费率数据 样本点 销售额x(万元) 流通费率y 1 1.5 7.0 2 4.5 4.8 3 7.5 3.6 4 10.5 3.1 5 13.5 2.7 6 16.5 2.5 7 19.5 2.4 8 22.5 2.3 9 25.5 2.2 【分析】: 首先绘制散点图以直观地选择拟合曲线,这项工作可结合相关专业领域的知识和经验进行,有时可能需要多种尝试。 选定目标函数后进行线性化变换,针对变换后的线性目标函数进行回归建模与评价,然后还原为非线性回归方程。 【Matlab数据处理】: 【Step1】: 绘制散点图以直观地选择拟合曲线 x=[1.54.57.510.513.516.519.522.525.5]; y=[7.04.83.63.12.72.52.42.32.2]; plot(x,y,'-o') 输出图形见图1。 图1销售额与流通费率数据散点图 根据图1,初步判断应以幂函数曲线为拟合目标,即选择非线性回归模型,目标函数为: 其线性化变换公式为: 线性函数为: 【Step2】: 线性化变换即线性回归建模(若选择为非线性模型)与模型评价 %线性化变换 u=log(x)'; v=log(y)'; %构造资本论观测值矩阵 mu=[ones(length(u),1)u]; alpha=0.05; %线性回归计算 [b,bint,r,rint,states]=regress(v,mu,alpha) 输出结果: b=[2.1421;-0.4259] 表示线性回归模型 中: lna=2.1421,b=-0.4259; 即拟合的线性回归模型为 ; bint=[2.06142.2228;-0.4583-0.3934] 表示拟合系数lna和b的100(1-alpha)%的置信区间分别为: [2.06142.2228]和[-0.4583-0.3934]; r=[-0.02350.0671-0.0030-0.0093-0.0404-0.0319-0.00160.01680.0257] 表示模型拟合残差向量; rint=[-0.07000.0230 0.02020.1140 -0.08730.0813 -0.09390.0754 -0.11540.0347 -0.10950.0457 -0.08370.0805 -0.06210.0958 -0.04930.1007] 表示模型拟合残差的100(1-alpha)%的置信区间; states=[0.9928963.55720.00000.0012] 表示包含 、 方差分析的F统计量 、 方差分析的显著性概率 ; 模型方差的估计值 。 【注】: 严格来讲,模型评价工作应在逆线性化变换后进行;但是,若所建立的线性回归方程不理想,则相应的非线性回归方程必定不理想。 【Step3】: 拟线性化变换求非线性回归方程(若选择为非线性模型) %逆线性化变换 A=exp(b (1)) B=b (2) 运行结果为: A=8.5173;B=-0.4259。 即非线性回归方程为: 。 2.多元线性回归模型(p>1): 求得经验回归方程: 统计量: 总偏差平方和: ,其自由度为 ; 回归平方和: ,其自由度为 ; 残差平方和: ,其自由度为 ; 它们之间有关系: SST=SSR+SSE。 多元回归分析的相关数学理论可以参见《多元数据分析》,下面仅以示例说明如何利用Matlab作多元回归分析。 【例2】参见教材P294: 10.1牙膏的销售量。 【下面只描述运行程序的过程,应该按照规定格式书写报告】。 符号说明: : 表示价格差; : 广告费用; : 销售量。 【Step1】: 绘制散点图以直观地选择拟合曲线 clear clc x1=[-0.050.250.6000.250.200.150.05-0.150.150.200.100.400.450.350.300.500.500.40-0.05-0.05-0.100.200.100.500.60-0.0500.050.55]; x2=[5.506.757.255.507.006.506.755.255.256.006.506.257.006.906.806.807.107.006.806.506.256.006.507.006.806.806.505.755.806.80]; y=[7.388.519.527.509.338.288.757.877.108.007.898.159.108.868.908.879.269.008.757.957.657.278.008.508.759.218.277.677.939.26]; h1=figure; plot(x1,y,'+'); h2=figure; plot(x2,y,'o'); 图1y对x1的散点图 图2y对x2的散点图 分析图1,可以发现,随着x1的增加,y的值有比较明显的线性增长趋势; 分析图2,当x增大时,y有向上弯曲的趋势,可用二次多项式进行逼近;因此可以选择如下方程作为初步的回归模型: 【Step2】: 模型求解(理论方法: 最小二乘法) alpha=0.05; v=[ones(length(x1),1)x1'x2'(x2.^2)']; [b,bint,r,rint,stats]=regress(y',v,alpha) 计算结果: b=[17.32441.3070-3.69560.3486] bint=[5.728228.9206 0.68291.9311 -7.49890.1077 0.03790.6594] r=[-0.0988-0.0795-0.1195-0.04410.4660-0.01330.29120.2735 -0.23510.1031-0.40330.17470.0400-0.15040.12840.1637 -0.0527-0.1907-0.0870-0.0165-0.1292-0.3002-0.2933-0.1679 -0.21770.11160.30350.06930.24740.2270] rint=[-0.52700.3294;-0.53090.3718;-0.51060.2716; -0.47310.3848;0.08130.8507;-0.46090.4343; -0.13740.7197;-0.08700.6340;-0.59600.1258; -0.32800.5341;-0.81900.0125;-0.26180.6112; -0.40320.4832;-0.59330.2925;-0.32070.5775; -0.28410.6116;-0.48300.3776;-0.62480.2434; -0.53480.3609;-0.44230.4092;-0.56090.3024; -0.71810.1177;-0.72430.1377;-0.55480.2190; -0.64490.2095;-0.29940.5226;-0.10370.7106; -0.37140.5099;-0.18070.6755;-0.18900.6430] stats=[0.905482.94090.00000.0490] 【Step3】结果分析 回归模型为: 从结果数据来看,模型整体可用。 但也有缺陷,可以改进。 【Step4】销售量的预测 设需要预测的点为: ,则预测值为 记 , 则在 处的区间预测为: 【模型改进】: 当两个因素是不独立时,引入交叉项 ,新的回归模型为 alpha=0.05; v=[ones(length(x1),1)x1'x2'(x2.^2)'(x1.*x2)']; [b,bint,r,rint,stats]=regress(y',v,alpha) 输出结果: b=[29.113311.1342-7.60800.6712-1.4777] bint=[13.701344.5252;1.977820.2906; -12.6932-2.5228;0.25381.0887;-2.8518-0.1037] r=[-0.0441;-0.1229;0.0299;-0.0745;0.3841; -0.0472;0.2331;0.0287;-0.0661;0.0297; -0.4372;0.1763;0.0356;-0.1382;0.1027; 0.1270;0.0048;-0.1435;-0.1016;0.0050; -0.0389;-0.1334;-0.3272;-0.3274;-0.2102; 0.1412;0.3250;0.1096;0.2342;0.2455] rint=[-0.44250.3542;-0.54080.2951; -0.31010.3698;-0.47360.3247; 0.02450.7437;-0.46400.3695; -0.16740.6337;-0.23690.2943; -0.37510.2430;-0.36910.4284; -0.8118-0.0627;-0.23060.5832; -0.37880.4499;-0.55210.2757; -0.31720.5226;-0.29170.5456; -0.39440.4039;-0.54900.2621; -0.51930.3160;-0.39260.4026; -0.43600.3582;-0.50450.2378; -0.72120.0667;-0.6326-0.0221; -0.60850.1881;-0.23980.5223; -0.04840.6984;-0.29880.5181; -0.16500.6335;-0.13910.6302] stats=[0.920972.77710.00000.0426] 结果分析: 效果更好。 3.逐步回归方法 要点: 【Step1】根据问题所属专业领域的理论和经验提出对因变量可能有影响的所有自变量; 【Step2】计算每一个自变量对因变量的相关系数,按其绝对值从大到小排序; 【Step3】取相关系数绝对值最大的那个自变量建立一元线性回归模型,检验所得回归方程的显著性,若检验表明回归效果则转入【Step4】,若检验表明回归效果不显著则停止建模; 【Step4】进行变量的追加、剔除和回归方程的更新操作。 Matlab命令: 【命令1】: stepwisefit 【调用格式】: [b,se,pval,inmodel,stats,nextstep,history]=stepwisefit(x,y,’param1’,value1,’param2’,value2,…) 【参数说明】: X: p个自变量的n个观测值的 矩阵; Y: 因变量的n个观测值的 矩阵; ‘penter’: 设置回归方程显著性检验的显著性概率上限,缺省值为0.05; ‘premove’: 设置回归方程显著性检验的显著性概率下限,缺省值为0.10; ‘display’: 用来指明是否强制显示建模过程信息,取值为‘on’(显示,缺省设置)和’off‘(不显示)。 【例3】某种水泥在凝固时放出的热量(单位: 卡/克)Y与水泥中的四种化学成分所占的百分比有关,现测得13组数据如下表: 编号 X1 X2 X3 X4 Y 1 7 26 6 60 78.5 2 1 29 15 52 74.3 3 11 56 8 20 104.3 4 11 31 8 47 87.6 5 7 52 6 33 95.9 6 11 55 9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 统计 回归 分析