计算趋势是上升,下降还是稳定

Dev*_*ate 2 math vbscript trend

我正在编写一个VBScript,每周发送一封包含客户活动的电子邮件.以下是一些示例数据:

a       b       c       d       e      f        g
2,780   2,667   2,785   1,031   646    2,340    2,410
Run Code Online (Sandbox Code Playgroud)

由于这是电子邮件,我不想要带有趋势线的图表.我只需要一个简单的函数,返回"向上","向下"或"稳定"(虽然我怀疑它将永远是完全稳定的).

我对数学很糟糕,所以我甚至不知道从哪里开始.我已经查看了Python或Excel的一些其他问题,但是没有足够的相似性,或者我没有足够的知识将其应用于VBS.

我的目标就是这样简单:

a       b       c       d       e      f        g        trend
2,780   2,667   2,785   1,031   646    2,340    2,410    ?
Run Code Online (Sandbox Code Playgroud)

如果有一些增量或百分比或其他测量值,我可以显示这将有所帮助.我也可能想忽略异常值.例如,上面的646.我们的一些客户周末不开放.

San*_*kha 7

首先,您的数据列为

a       b       c       d       e      f        g      
2,780   2,667   2,785   1,031   646    2,340    2,410    
Run Code Online (Sandbox Code Playgroud)

要获得趋势线,您需要为变量分配数值 a, b, c, ...

要为其分配数值,您需要了解更多信息如何获取数据.假设您a在1月1日获取数据,您可以为其分配任何值,如01.然后,你把数据b十天后,那么你可以指定值1011给它.然后你在c三十天后获取数据,然后你可以分配值3031它.数值a, b, c, ...必须与获取数据的时间间隔成比例,以获得更准确的趋势线值.

如果他们被定期服用(这很可能是你的情况),让我们说每7天一次,那么你可以定期分配它.a, b, c, ... ~ 1, 2, 3, ...开始点完全是你的选择选择让它变得非常容易的东西.在你的最终计算中并不重要.

然后,您需要计算线性回归的斜率,您可以在此网址上找到该斜率,您需要b使用下表计算该值.

在此输入图像描述

  1. 从第2行至8行第一列,我有我的价值a,b,c,...,我把1,2,3, ...

  2. 在第二列,我有我的数据.

  3. 在第三列,我将第一列中的每个单元格乘以第二列中的相应单元格.

  4. 在第四列,我平方第一列的单元格的值.

  5. 在第10行,我添加了上面列的值.

  6. 最后使用第10行的值.

            total_number_of_data*C[10] - A[10]*B[10]
      b =  -------------------------------------------
            total_number_of_data*D[10]-square_of(A[10])
    
    Run Code Online (Sandbox Code Playgroud)

b确定你要找的东西的标志.如果它是正的,那么它就会上升,如果它是负的,那么它就会下降,如果它是零则那么稳定.

  • @ScottBeeson `total_number_of_data=7` 并检查它[在这里](https://www.wolframalpha.com/input/?i=linear+fit+2780%2C++2667%2C++2785%2C+1031% 2C+646%2C+2340%2C+2410&dataset=&equal=Submit) 是的,它必须是-139.393 (2认同)