zoukankan      html  css  js  c++  java
  • 蛙蛙推荐:利用Excel进行销售量预测

    蛙蛙推荐:利用Excel进行销售量预测
    摘要:利用excel做线性增长预测
    昨天看了个帖子http://www.cnblogs.com/shenyisyn/archive/2008/05/20/1203061.html,自己写程序实现线性预测,其实excel也有这功能。假如我们知道了1季度的每天的销售额,我们要推算出后半年的销售额,以便制定原材料采购计划。当然销售量受很多因素影响,季节,营销,地区等,我们先不考虑这些情况,单纯利用线性公式来做预测,如果要把多种属性进行考虑和建模的话,得用sqlserver的BI功能了。
    日期 销售额
    2008-1-1 451
    2008-1-2 477
    2008-1-3 460
    2008-1-4 432
    2008-1-5 469
    2008-1-6 456
    2008-1-7 468
    2008-1-8 495
    2008-1-9 478
    2008-1-10 492
    2008-1-11 488
    2008-1-12 476
    2008-1-13 522
    2008-1-14 492
    2008-1-15 499
    2008-1-16 488
    2008-1-17 474
    2008-1-18 529
    2008-1-19 498
    2008-1-20 499
    2008-1-21 529
    2008-1-22 545
    2008-1-23 565
    2008-1-24 583
    2008-1-25 585
    2008-1-26 557
    2008-1-27 562
    2008-1-28 606
    2008-1-29 591
    2008-1-30 570
    2008-1-31 528
    2008-2-1 628
    2008-2-2 648
    2008-2-3 661
    2008-2-4 669
    2008-2-5 700
    2008-2-6 705
    2008-2-7 692
    2008-2-8 684
    2008-2-9 682
    2008-2-10 670
    2008-2-11 703
    2008-2-12 752
    2008-2-13 751
    2008-2-14 735
    2008-2-15 741
    2008-2-16 751
    2008-2-17 768
    2008-2-18 756
    2008-2-19 719
    2008-2-20 721
    2008-2-21 742
    2008-2-22 729
    2008-2-23 729
    2008-2-24 737
    2008-2-25 734
    2008-2-26 733
    2008-2-27 698
    2008-2-28 650
    2008-2-29 628
    2008-3-1 710
    2008-3-2 779
    2008-3-3 797
    2008-3-4 802
    2008-3-5 804
    2008-3-6 796
    2008-3-7 767
    2008-3-8 778
    2008-3-9 866
    2008-3-10 890
    2008-3-11 866
    以上是已有的数据,把上面的数据复制到excel里面,连标题共72行,范围是a1,b1:a72,b72,先选中现有数据点击插入图标,生成一个曲线图,如下,表示第一季度的销售量曲线

    然后拖动日期列最下面的一个单元格的右下角往下拉,一直往下填充,直到填充到2008-12-31,再在B73单元格输入以下“=TREND(B2:B72,A2:A72,A73)”公式,关于这个公式可以查看excel的帮助。
    ====================
    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_y's 在单独一列中,则 known_x's 的每一列被视为一个独立的变量。

    如果数组 known-y's 在单独一行中,则 known-x's 的每一行被视为一个独立的变量。

    Known_x's   是关系表达式 y = mx + b 中已知的可选 x 值集合。

    数组 known_x's 可以包含一组或多组变量。如果只用到一个变量,只要 known_y's 和 known_x's 维数相同,它们可以是任何形状的区域。如果用到多个变量,known_y's 必须为向量(即必须为一行或一列)。

    如果省略 known_x's,则假设该数组为 {1,2,3,...},其大小与 known_y's 相同。

    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 一样。

    如果 known_x's 和 new_x's 都省略,将假设它们为数组 {1,2,3,...},大小与 known_y's 相同。

    Const   为一逻辑值,用于指定是否将常量 b 强制设为 0。

    如果 const 为 TRUE 或省略,b 将按正常计算。

    如果 const 为 FALSE,b 将被设为 0(零),m 将被调整以使 y = mx。

    ==说明

    有关 Microsoft Excel 对数据进行直线拟合的详细信息,请参阅 LINEST 函数。
    可以使用 TREND 函数计算同一变量的不同乘方的回归值来拟合多项式曲线。例如,假设 A 列包含 y 值,B 列含有 x 值。可以在 C 列中输入 x^2,在 D 列中输入 x^3,等等,然后根据 A 列,对 B 列到 D 列进行回归计算。
    对于返回结果为数组的公式,必须以数组公式的形式输入。
    当为参数(如 known_x's)输入数组常量时,应当使用逗号分隔同一行中的数据,用分号分隔不同行中的数据。
    ===========================
    然后拉住b73单元格的右下角拉到最后,填充销售额列的单元格,最后再生成一条曲线图就行了。

    完整excel下载地址如下
    https://files.cnblogs.com/onlytiancai/xianxingyuce.zip



  • 相关阅读:
    zsh: command not found: mysql
    ReactiveX -Rx
    mac 安装mysql
    mac 完全卸载mysql
    gradle 编译OutOfMemoryError
    Nginx均衡负载(IP_HASH)未生效
    Tomcat集群+Nginx+Redis服务搭建
    Spring之SpringMVC的RequestToViewNameTranslator(源码)分析
    Spring之SpringMVC的MethodNameResolver(源码)分析
    Spring之SpringMVC前端控制器DispatcherServlet(源码)分析
  • 原文地址:https://www.cnblogs.com/onlytiancai/p/1205672.html
Copyright © 2011-2022 走看看