【数学建模 matlab 实验报告8】回归分析
上一篇【数学建模 matlab 实验报告7】微分方程和差分方程目录实验报告实验心得实验报告作业1截图代码% 温度和产量数据 x [20, 25, 30, 35, 40, 45, 50, 55, 60, 65]; y [13.2, 15.1, 16.4, 17.1, 17.9, 18.7, 19.6, 21.2, 22.5, 24.3]; % 进行线性回归分析 p polyfit(x, y, 1); % 1代表线性回归 slope p(1); intercept p(2); % 回归方程 fprintf(回归方程为: y %.4fx %.4f\n, slope, intercept); % 计算拟合值和残差 y_fit polyval(p, x); residuals y - y_fit; % 显著性检验 SSR sum((y_fit - mean(y)).^2); % 回归平方和 SSE sum(residuals.^2); % 残差平方和 SST SSR SSE; % 总平方和 R2 SSR / SST; % 决定系数 fprintf(决定系数R^2: %.4f\n, R2); F (SSR / 1) / (SSE / (length(y) - 2)); % F统计量 fprintf(F统计量: %.4f\n, F); % F分布临界值df11, df2n-2, alpha0.05 F_crit finv(0.95, 1, length(y) - 2); fprintf(F临界值: %.4f\n, F_crit); if F F_crit disp(回归效果显著); else disp(回归效果不显著); end % 预测x42°C时的产量 y_pred polyval(p, 42); fprintf(预测x42°C时的产量为: %.4f kg\n, y_pred); % 计算预测区间95%置信度 alpha 0.05; t tinv(1-alpha/2, length(y)-2); s sqrt(SSE / (length(y) - 2)); x0 42; SE s * sqrt(1/length(x) (x0-mean(x))^2 / sum((x-mean(x)).^2)); CI t * SE; fprintf(预测区间: (%.4f, %.4f)\n, y_pred - CI, y_pred CI);作业2截图代码% 横坐标和纵坐标数据 x [0,2,4,6,8,10,12,14,16,18,20]; y [0.6,2.0,4.4,7.5,11.8,17.1,23.3,31.2,39.6,49.7,61.7]; % 进行二次多项式回归分析 p polyfit(x, y, 2); % 2代表二次多项式回归 % 回归方程 fprintf(回归方程为: y %.4fx^2 %.4fx %.4f\n, p(1), p(2), p(3));作业3截图代码% 养护时间和抗压强度数据 x [2, 3, 4, 5, 7, 12, 14, 17, 21, 28, 56, 65, 73, 76, 68, 82, 86, 99]; y [35, 47, 59, 42, 53, 12, 14, 17, 21, 28, 56, 65, 73, 76, 68, 82, 86, 99]; % 进行指数型回归分析 p polyfit(log(x), y, 1); % 拟合ln(x)和y的线性关系 % 回归方程 a exp(p(2)); b p(1); fprintf(回归方程为: y %.4f * e^(%.4fx)\n, a, b);作业4财政收入是指政府为履行其职能、实施公共政策和提供公共物品与服务需要而筹集的一切资金的总和。财政收入表现为政府部门在一定时期内一般为一个财政年度所取得的货币收入。财政收入是衡量一国政府财力的重要指标政府在社会经济活动中提供公共物品和服务的范围和数量在很大程度上决定于财政收入的充裕状况。现收集影响财政收入y的9个因素GDPx1、能源消费总量x2、从业人员总数x3、全社会固定资产投资总额x4、实际利用外资总额x5、全国城乡居民储蓄存款年底余额x6、居民人均消费水平x7、消费品零售总额x8和居民消费价格指数x9数据存于Excel文件caseA1.xls的表单Sheet1中单元格范围A2:J22如图所示。请完成以下任务利用xlsread指令读取表单数据假设caseA1.xls文件已存于Matlab的当前工作目录存入变量data中。计算变量之间的相关系数矩阵并输出财政收入y与其它9个自变量的相关系数。利用regress指令进行多元线性回归分析求回归系数的点估计和区间估计、残差及其置信区间并检验回归模型。给出x190000, x2130000, x380000, x430000, x5600, x660000, x74000, x840000, x9500时财政收入y的预测值。1146.38 4038.2 58588 41024 849.36 31.14 281.0 197 1800.0 102.01159.93 4517.8 60257 42361 910.90 31.14 399.5 236 2140.0 108.11175.79 4860.3 59447 43725 961.00 31.14 523.7 249 2350.0 110.71212.33 5301.8 62067 45295 1230.40 31.14 675.4 266 2570.0 112.81366.95 5957.4 66040 46436 1430.10 19.81 892.5 289 2849.4 114.51642.86 7206.7 70904 48197 1832.90 27.05 1214.7 327 3376.4 117.72004.82 8986.1 7668 49873 2543.20 46.47 1622.6 437 4305.0 128.12122.01 10201.4 80850 51282 3120.6 72.58 2238.5 452 4950.0 135.82199.35 11954.5 86632 52783 3791.7 84.52 3081.4 550 5820.0 145.72357.24 14922.3 92997 54334 4753.8 102.26 3822.2 693 7440 172.72664.9 16917.8 96934 55329 4410.4 100.59 5196.4 762 8101.4 203.42937.1 18598.4 98703 63909 4517 102.89 7119.8 803 8300.1 207.73149.48 21662.5 103783 64799 5594.5 115.54 9241.6 896 9415.6 213.73483.37 26651.9 109170 65554 8080.1 192.02 11759.4 1070 10993.7 225.24348.95 34560.5 115993 66373 13072.3 389.6 15203.5 1331 12462.1 254.95218.1 46670 122737 67199 17042.1 432.13 21518.8 1746 16264.7 310.26242.2 57494.9 131176 67947 20019.3 481.33 29662.3 2236 20620 356.17407.99 66850.5 138948 68850 22913.5 548.04 38520.8 2641 24774.1 377.88651.14 73142.7 138173 69600 24914.1 644.08 46279.8 2834 27298.9 380.89875.95 76967.1 132214 69957 28406.2 585.57 53407.5 2972 29152.5 370.911444.08 80422.8 122000 70586 29854.7 526.59 59621.8 3143 31134.7 359.8截图代码% 读取数据 data [ 1146.38 4038.2 58588 41024 849.36 31.14 281.0 197 1800.0 102.0 1159.93 4517.8 60257 42361 910.90 31.14 399.5 236 2140.0 108.1 1175.79 4860.3 59447 43725 961.00 31.14 523.7 249 2350.0 110.7 1212.33 5301.8 62067 45295 1230.40 31.14 675.4 266 2570.0 112.8 1366.95 5957.4 66040 46436 1430.10 19.81 892.5 289 2849.4 114.5 1642.86 7206.7 70904 48197 1832.90 27.05 1214.7 327 3376.4 117.7 2004.82 8986.1 7668 49873 2543.20 46.47 1622.6 437 4305.0 128.1 2122.01 10201.4 80850 51282 3120.6 72.58 2238.5 452 4950.0 135.8 2199.35 11954.5 86632 52783 3791.7 84.52 3081.4 550 5820.0 145.7 2357.24 14922.3 92997 54334 4753.8 102.26 3822.2 693 7440 172.7 2664.9 16917.8 96934 55329 4410.4 100.59 5196.4 762 8101.4 203.4 2937.1 18598.4 98703 63909 4517 102.89 7119.8 803 8300.1 207.7 3149.48 21662.5 103783 64799 5594.5 115.54 9241.6 896 9415.6 213.7 3483.37 26651.9 109170 65554 8080.1 192.02 11759.4 1070 10993.7 225.2 4348.95 34560.5 115993 66373 13072.3 389.6 15203.5 1331 12462.1 254.9 5218.1 46670 122737 67199 17042.1 432.13 21518.8 1746 16264.7 310.2 6242.2 57494.9 131176 67947 20019.3 481.33 29662.3 2236 20620 356.1 7407.99 66850.5 138948 68850 22913.5 548.04 38520.8 2641 24774.1 377.8 8651.14 73142.7 138173 69600 24914.1 644.08 46279.8 2834 27298.9 380.8 9875.95 76967.1 132214 69957 28406.2 585.57 53407.5 2972 29152.5 370.9 11444.08 80422.8 122000 70586 29854.7 526.59 59621.8 3143 31134.7 359.8 ]; % 提取自变量和因变量 X data(:, 1:9); % 自变量 y data(:, 10); % 因变量 % 计算相关系数矩阵 corr_matrix corr(X, y); % 计算自变量和因变量之间的相关系数 disp(财政收入与其他自变量的相关系数); disp(corr_matrix(9, :)); % 输出财政收入与其他自变量的相关系数 % 多元线性回归分析 [beta,~,~,~,stats] regress(y, [ones(size(X,1),1) X]); % 多元线性回归分析 disp(回归系数的点估计和区间估计); disp(beta); % 回归系数的点估计 disp(回归系数的置信区间); disp(stats(1:1, :)); % 回归系数的置信区间 disp(残差及其置信区间); disp([stats(3), stats(4)]); % 残差及其置信区间 disp(回归模型的检验结果); disp(stats(3:4)); % 回归模型的检验结果 % 给定自变量的值 x_new [90000, 130000, 80000, 30000, 600, 60000, 4000, 40000, 500]; % 预测财政收入 y_pred [1, x_new] * beta; disp(给定自变量值时财政收入的预测值); disp(y_pred); % 预测值实验心得本次回归分析实验围绕线性回归、二次多项式回归、指数型回归及多元线性回归四种类型展开通过Matlab软件编程实现数据处理、模型构建、显著性检验及预测分析不仅深化了我对回归分析理论知识的理解更提升了将理论应用于实践的操作能力让我深刻体会到数据分析在解决实际问题中的实用价值与严谨性。实验前期我明确了四类回归分析的核心目标与应用场景结合不同实验的数据特点选择合适的回归模型。作业1的温度与产量数据通过线性回归分析构建了两者的线性关系计算回归方程、决定系数及F统计量完成显著性检验并实现温度为42℃时的产量预测与区间估计。这一过程让我掌握了线性回归的基本流程理解了决定系数R²对拟合效果的衡量作用以及F检验在判断回归模型显著性中的核心意义明白了只有通过严谨的检验才能确保回归方程的可靠性。作业2的二次多项式回归与作业3的指数型回归让我认识到回归模型的选择需贴合数据的变化规律。二次多项式回归适用于变量间呈现非线性关联的场景通过polyfit函数拟合得到二次方程精准捕捉了横坐标与纵坐标之间的曲线关系指数型回归则通过对自变量取对数将非线性关系转化为线性关系再通过线性回归求解参数这一转化思路让我学会了灵活处理不同类型的数据理解了“化繁为简”在数据分析中的重要性。作业4的多元线性回归实验是本次实验的重点与难点。该实验围绕财政收入与9个影响因素展开通过读取数据、计算相关系数矩阵、构建多元回归模型完成回归系数估计、模型检验及预测分析。在实验过程中我学会了使用xlsread指令读取数据掌握了相关系数矩阵的解读方法通过分析财政收入与各影响因素的相关系数判断变量间的关联程度同时利用regress指令完成多元回归分析深入理解了回归系数点估计与区间估计的含义以及残差分析对模型优化的作用。通过本次实验我深刻认识到回归分析不仅是一种数据分析方法更是一种逻辑思维方式。实验中我曾因对Matlab指令不熟悉、对回归检验原理理解不透彻出现过代码报错、结果解读偏差等问题通过反复查阅资料、调试代码、核对理论公式逐步解决了这些问题。这一过程让我明白数据分析需要严谨的态度每一个指令的输入、每一个参数的选择、每一次结果的解读都直接影响实验的准确性任何细节的疏忽都可能导致实验失败。此外本次实验也让我体会到回归分析的实际应用价值。从温度与产量的关联分析到财政收入的影响因素研究回归分析能够帮助我们挖掘数据背后的内在规律实现对未知数据的预测为决策提供科学依据。正如相关讲座所强调的数据分析的生命力根植于实际场景回归分析不是简单的算法套用而是要在实际问题与统计方法之间搭建桥梁让数据发挥真正的价值。本次实验也让我看到了自身的不足比如对多元回归中多重共线性的处理、复杂模型的优化等知识掌握不够扎实对实验结果的深度分析能力有待提升。在今后的学习中我将加强回归分析理论知识的学习多参与实践操作积累数据分析经验提升自身的逻辑思维与数据处理能力努力将所学知识应用于更多实际场景真正做到学以致用。总之本次回归分析实验让我在理论与实践的结合中收获颇丰不仅掌握了Matlab软件在回归分析中的应用技巧深化了对回归分析原理的理解更培养了严谨的科学态度和解决实际问题的能力为今后的学习和工作奠定了坚实的基础。