生产批量与单位成本的回归模型(第四次作业)摘要此模型是一个线性回归模型问题,要想正确全面的描述生产批量与单位成本的关系。我们可以通过MATLAB工具描绘出问题中给出数据的散点图,然后用某些适当的函数关系式去拟合这些散点,尽可能的让它们都能够出现在模拟的线条附近,通过这些函数关系式我们就可以建立起适当的数学模型,有时一个散点图我们可以用不同的函数关系式去拟合,从而建立起不同的数学模型,此时我们应该对这些模型做对比,找出拟合度最好,并且能更好反映数据真实情况的模型。此题通过观察散点,我们建立出以下三个模型:011yX(x≤500),022yX(x≥500)(模型一)012(500)yXXG(模型二)2012yXX(模型三)建立这三个模型后,通过用MATLAB的regress命令分别求出它们的回归系数,再绘出它们的残差图,将不满足条件的异常点去掉,再重新进行拟合,最后得到我们需要的数学模型。一个好的模型能让我们正确掌握生产批量与单位成本的关系,有利于生产厂商更好的掌握产品的生产信息,并通过此模型来作为生产成本和利润的预算。一、问题重述下表给出了某工厂产品的生产批量与单位成本(元)的数据,从散点图可以明显得发现,,生产批量在500以内时,单位成本对生产批量服从一种线性关系,生产批量超过500时就服从另一种线性关系。此时单位成本明显下降。希望你构造一个合适的回归模型全面的描述生产批量与单位成本的关系。生产批量650340400800300600720480440540750单位成本2.484.454.521.384.652.962.184.044.203.101.50关键字:生产批量单位成本线性关系二、提出假设与符号说明假设:1、假设一切所给的数据准确有效2、在一定范围内,单位成本与生产批量之间满足线性关系3、生产批量与单位成本不受较大外部因素的影响符号说明:单位成本为y(元)生产批量为x回归系数0,1,2随机误差三、模型分析次模型为生产批量与单位成本的一种线性回归模型,我们可以通过分析所给数据模拟出它的线性回归方程,且在这个方程允许的范围内产生一定的波动,我们可以通过从一次线性和二次线性回归曲线去拟合这些所给出的数据点,并预测较小范围内生产批量与单位成本的一个趋向。四、模型的建立、求解与验证假设一:生产批量与单位成本之间存在一次线性关系。我们令生产批量为x,单位成本为y元,当x≤500时,y与x满足一种线性关系,即011yX当x≥500时,y与x满足另一种线性关系,即022yX模型一:当x≤500时,在MATLAB模拟得到下面模拟的一次线性图:由MATLAB的regress命令得到下面数据:(详见附表一)参数参数估计置信区间0-0.0031[-0.0056-0.0006]15.5863[4.57436.5983]2R=0.8332F=14.9868P=0.0305做出该模型的残差图:可以看出上面第三个点位异常点,去除第三个点画出散点图:由MATLAB得regress命令得到下列数据:(附表二)参数参数估计置信区间0-0.0032[-0.0044-0.0020]15.5749[5.09026.0596]2R=0.9843F=125.3521P=0.0079将上面的数据代入一次函数式得到模拟出的一次线性关系式为:y=-0.0032x+5.5749(x≤500)当x≥500时,在MATLAB拟合得到下列的散点图:可以看出随着生产批量的增加,单位成本在逐渐降低,而且两者有很强的线性关系由MATLAB的regress命令得到下面数据:(详见附表三)参数参数估计置信区间0-0.0072[-0.0096-0.0047]27.1158[5.43168.8000]2R=0.9420F=65.0153P=0.0013此时的残差图为:由残差图波动可以看出都为符合条件的点。将上面的数据代入一次函数关系式得到模拟的一次函数为:y=-0.072x+7.1158(x≥500)模型二:综合上面的分析,当X在500以上或以下时,y与x存在不同的关系,引入一个虚拟变量G,我们可以另1,(500)0,(500){XXG结合模型一和二建立如下的回归模型012(500)yXXG我们可以将上面的式子转化为下面等效关系式:y=+X+[(|X-500|)+(X-500)]G+ε,其中参数0,1,2为回归系数,影响y的其它因数都包含在随机误差e中。如果模型选择合适,e应大致负重均值为零的正态分布。通过MATLAB的regress命令得到下列结果:(附表四)参数参数估计值置信区间06.1621[5.03687.2874]1-0.0047[-0.0074-0.0020]2-0.0036[-0.00760.0003]2R=0.9763F=164.7143P=0下面为该模型的残差图:从该模型的残差图可以看出第6个点(540,3.10)不包含零点为异常点,它会对模型造成一定的影响,为了让模型更加的完美,我们应该去掉第六个点再重新计算。通过MATLAB的regress命令得到下列数据(附表五):参数参数估计值置信区间05.7814[4.85366.7093]1-0.0037[-0.0059-0.0014]2-0.0053[-0.0087-0.0019]2R=0.9883F=296.1706P=0去掉第六个点以后拟合度2R比没去掉时的拟合度大,所以去掉第六个点后能够使模型更理想。此时的模拟函数关系式为:1,(500)0,(500)0.00370.0053(500)5.7814,{XXyXXGG同时我们从上表可以看出当生产批量小于500时,每增加一个单位批量,单位成本降低0.0037元:当生产批量超过500时,没增加一个单位批量,单位成本降低0.0037+0.0053=0.009元。假设二:生产批量与单位成本之间为二次线性关系:生产批量(百台)6.53.448367.24.84.45.47.5单位成本(元)2.484.454.521.384.652.962.184.044.203.101.50模型三:从上面的图形中看出散点似乎也合适x的二次回归模型,我们可以通过MATLAB模拟出下列二次曲线(附表六)从图中我们可以发现,随着x的增加,y值有明显的向下弯曲的趋势,图中的曲线是用二次函数模型2012yXX拟合的。其中参数0,1,2为回归系数,影响y的其它因数都包含在随机误差e中。如果模型选择合适,e应大致负重均值为零的正态分做出其残差图:由残差图可以看出所有点都包括0在内,不存在异常点。由MATLAB中的regress命令得到下列数据(附表六):参数参数估计置信区间0-0.0574[-0.12590.0110]1-0.0714[-0.83150.6887]25.4862[3.51637.4561]2R=0.97486F=155.1021P=0将参数带入二次项得到y=-0.05742X-0.0714X+5.4862所以该模型模拟的函数为y=-0.05742X-0.0714X+5.4862五、模型评价1模型一虽然拟合度都还可以,但因为数据太少,且数据比较分散,个别数据的微小变动都会对模型产生较大的影响,所以尽量少采用。2模型三和四数据和模型一相比,数据叫综合,更能反映模型的实际情况,拟合度也比较高,P等于0,这两个模型较好,可以考虑采用。3、对模型总体而言,数据不够多,不能很好的反映出产品批量和单位价格的真实情况。4、该模型具有局限性,不能对生产批量低于300或超过800的单位价格进行预算。六、参考文献数学模型第三版(高等教育出版社)数学模型(浙江大学出版社)MATLAB教程(高等学校通用教材)附表一:x=[300340400440480]';y=[4.654.454.524.204.04]';X=[ones(5)x];[r,rint,b,bint,size]=regress(y,X)Warning:Xisrankdeficienttowithinmachineprecision.Inregressat80r=05.5863000-0.0031rint=004.57436.5983000000-0.0056-0.0006b=-0.0070-0.08310.1728-0.0233-0.0594bint=-0.29510.2811-0.40610.23990.05530.2902-0.39810.3514-0.32850.2097size=0.833214.98680.03050.0136rcoplot(b,bint)附表二:x=[300340440480]';y=[4.654.454.204.04]';X=[ones(4),x];[r,rint,b,bint,size]=regress(y,X)Warning:Xisrankdeficienttowithinmachineprecision.Inregressat80r=05.574900-0.0032rint=005.09026.05960000-0.0044-0.0020b=0.0289-0.04400.0240-0.0089bint=-0.05980.1175-0.10900.0210-0.14740.1954-0.15660.1389size=0.9843125.35210.00790.0017plot(x,y,'r*'),xlabel('x')附表三:x=[540600650720750800]';y=[3.102.962.482.181.501.38]';X=[ones(6)x];[r,rint,b,bint,size]=regress(y,X)Warning:Xisrankdeficienttowithinmachineprecision.Inregressat80r=07.11580000-0.0072rint=005.43168.800000000000-0.0096-0.0047b=-0.14600.14390.02220.2239-0.2411-0.0028bint=-0.48740.1953-0.32720.6151-0.53980.5843-0.19910.6469-0.60150.1192-0.44940.4437size=0.942065.01530.00130.0377rcoplot(b,bint)附表四:x=[300340400440480540600650720750800];y=[4.654.454.524.204.043.102.962.482.181.501.38];X=[ones(11,1),x',0.5*abs(x'-500)+0.5*(x'-500)];[b,bint,r,rint,size]=regress(y',X)b=6.1621-0.0047-0.0036bint=5.03687.2874-0.0074-0.0020-0.00760.0003r=-0.0929-0.10360.25020.11940.1487-0.3624-0.0010-0.06320.2218-0.20740.0904rint=-0.43030.2446-0.52030.3130-0.17020.6706-0.33770.5766-0.26630.5637-0.6734-0.0515-0.47620.4742-0.54190.4156-0.19790.6416-0.61120.1964-0.29250.4733size=0.9763164.71430.00000.0443rcoplot(r,rint)附表五:x=[300340400440480600650720750800];y=[4.654.454.524.204.042.962.