4.3.1 LINEST函数LINEST函数的功能是使用最小二乘法计算对已知数据进行最佳线性拟合的直线方程,并返回描述此线性模型的数组。因为此函数返回数值为数组,故必须以数组公式的形式输入。 函数公式为 = LINEST(known_y's,known_x's,const,stats) 下面举例说明LINEST函数的应用。 1.一元线性回归分析 LINEST函数可用于一元线性回归分析,也可以用于多元线性回归分析,以及时间数列的自回归分析。 当只有一个自变量 x (即一元线性回归分析)时,可直接利用下面的公式得到斜率和 y 轴的截距值以及相关系数: 斜率:INDEX(LINEST(known_y's,known_x's),1,1);或INDEX(LINEST(known_y's,known_x's),1) 截距:INDEX(LINEST(known_y's,known_x's),1,2);或INDEX(LINEST(known_y's,known_x's),2) 相关系数:INDEX(LINEST(known_y's,known_x's,true,true),3,1) 【例4-1】某企业1~9月份的总成本与人工小时及机器工时的数据如图4-1所示。假设总成本与人工小时之间存在着线性关系,则在单元格B13中插入公式“=INDEX(LINEST(B2:B10,D2:D10),2)”,在单元格B14插入公式“=INDEX(LINEST(B2:B10,D2:D10),1)”,在单元格B15插入公式“=INDEX(LINEST(B2:B10,D2:D10,TRUE,TRUE),3,1)”,即得总成本与人工小时的一元线性回归分析方程为:Y=562.72756+4.41444X1,相关系数为R2=0.99801,如图4-1所示。 图4-1 一元线性回归分析 2.多元线性回归分析 仍以例4-1的数据为例,首先选取单元格区域A17:D21,再以数组公式方式输入公式“=LINEST(B2:B10,C2:D10,TRUE,TRUE)”,即得该二元线性回归的有关参数如图4-2所示,从而得到: 图4-2 二元线性回归分析 回归方程:Y = 471.4366+3.6165X1+3.4323X2 相关系数:R2 =0.9990 标准差:Sey =11.7792。 4.3.2 LOGEST函数LOGEST函数的功能是在回归分析中,计算最符合观测数据组的指数回归拟合曲线,并返回描述该指数模型的数组。由于这个函数返回一个数组,必须以数组公式输入。 LOGEST函数的公式为 = LOGEST(known_y's,known_x's,const,stats) 【例4-2】某企业12个月某产品的生产量(X)与生产成本(Y)的有关资料如图4-3所示,假设它们之间有如下关系: 图4-3 指数回归 回归方程的系数及相关系数也可以利用下面的公式直接计算 参数m:INDEX(LOGEST(C2:C13,B2:B13),1)=0.8887 参数b:INDEX(LOGEST(C2:C13,B2:B13),1,2)=1791.7729 相关系数R2:=INDEX(LOGEST(C2:C13,B2:B13,TRUE,TRUE),3,1)= 0.95885 4.3.3 TREND函数TREND函数的功能是返回一条线性回归拟合线的一组纵坐标值(y 值),即找到适合给定的数组 known_y's 和 known_x's 的直线(用最小二乘法),并返回指定数组 new_x's 值在直线上对应的 y 值。 TREND函数的公式为 = TREND(known_y's,known_x's,new_x's,const) 式中 new_x's —— 需要函数 TREND 返回对应 y 值的新 x 值。 new_x's 与 known_x's 一样,每个独立变量必须为单独的一行(或一列)。因此,如果 known_y's 是单列的,known_x's 和 new_x's 应该有同样的列数,如果 known_y's 是单行的,known_x's 和 new_x's 应该有同样的行数。如果省略 new_x's,将假设它和 known_x's 一样。 【例4-3】某企业过去一年的销售量为下列数据:{300,356,374,410,453,487,501,534,572,621,650,670},将它们保存在单元格A1:A12中,则下一年的1、2、3月的销售量预测步骤为:选中单元格区域B1:B3,输入公式“=TREND(A1:A12,,{13;14;15})”(数组公式输入),即得来年的1、2、3月份的销售量分别为710、743和777。这个公式默认{1;2;3;4;5;6;7;8;9;10;11;12}作为known_x's的参数,故数组{13;14;15}就对应其后的3个月份。 4.3.4 GROWTH函数 GROWTH函数的功能是返回给定的数据预测的指数增长值。根据已知的x值和y值,函数GROWTH返回一组新的x值对应的y值。可以使用GROWTH工作表函数来拟合满足给定x值和y值的指数曲线。 GROWTH函数的公式为 = GROWTH(known_y's,known_x's,new_x's,const) 式中,各参数的含义同TREND函数。但需注意的是,如果known_y's中的任何数为零或为负,函数 GROWTH将返回错误值 #NUM!。 【例4-4】以例4-3的资料为例,利用GROWTH函数预测来年的1、2、3月的销售量。预测步骤为:选中单元格区域B1:B3,输入公式“=GROWTH(A1:A12,,{13;14;15})”(数组公式输入),即得来年的1、2、3月份的销售量分别为756、811和870。这个公式同样默认{1;2;3;4;5;6;7;8;9;10;11;12}作为known_x's的参数,故数组{13;14;15}就对应后面的3个月份。 4.3.5 FORECAST函数FORECAST函数的功能是根据给定的数据计算或预测未来值。此预测值为基于一系列已知的 x 值推导出的 y 值。以数组或数据区域的形式给定 x 值和 y 值后,返回基于 x 的线性回归预测值。FORECAST函数的计算公式为 a+bx 式中, FORECAST函数的公式为 = FORECAST(x,known_y's,known_x's) 式中 x—需要进行预测的数据点。 需要说明的是: 如果 x 为非数值型,函数 FORECAST 返回错误值 #VALUE!。 如果 known_y's 和 known_x's 为空或含有不同数目的数据点,函数 FORECAST 返回错误值 #N/A。 如果 known_x's 的方差为零,函数 FORECAST 返回错误值 #DIV/0!。 例如: 4.3.6 SLOPE函数SLOPE函数的功能是返回根据 known_y's 和 known_x's 中的数据点拟合的线性回归直线的斜率。斜率为直线上任意两点的垂直距离与水平距离的比值,也就是回归直线的变化率。 SLOPE函数的公式为 = SLOPE(known_y's,known_x's) 说明:参数可以是数字,或者是涉及数字的名称、数组或引用。如果数组或引用参数里包含文本、逻辑值或空白单元格,这些值将被忽略。但包含零值的单元格将计算在内。如果 known_y's 和 known_x's 为空或其数据点数目不同,函数 SLOPE 返回错误值 #N/A。 例如: 4.3.7 INTERCEPT函数INTERCEPT函数的功能是利用已知的 x 值与 y 值计算直线与 y 轴的截距。截距为穿过 known_x's 和 known_y's 数据点的线性回归线与 y 轴的交点。 公式为 = INTERCEPT (known_y's,known_x's) 例如: Excel函数应用实例:销售额预测 假设某超市周一到周日的日销售额分别为13、17、16、15、19、21和22(万元),总经理需要预测今后一周内的日销售额的最高值和最低值。可以按如下方法进行预测: (1)函数分解 TREND 函数返回一条线性回归拟合线的值。即找到适合已知数组known_y’s和known_x’s的直线(用最小二乘法),并返回指定数组new_x’s在直线上对应的y值。 语法:TREND(known_y’s,known_x’s,new_x’s,const) Known_y’s是关系表达式y=mx+b中已知的y值集合;Known_x’s是关系表达式y=mx+b中已知的可选x值集合;New_x’s为需要函数 TREND返回对应y值的新x值;Const为一逻辑值,用于指定是否将常量b强制设为0。 (2)实例分析 首先要打开一个空白工作表,在A1单元格中输入“日销售额”,然后将上述数据依次输入A2、A3至A8单元格。然后选中B2至B8区域,在Excel的编辑栏输入公式“=TREND(A2:A8)”,回车即可在B2至B8区域获得7个结果,其中最高销售额为21.64万元,最低销售额为13.5万元。 与KURT函数一样,TREND函数可以用于教育统计中的学生入学数的峰值和低谷,铁路运输领域的客流高峰和低谷等的预测。 |
|