[Day2] 时间序列资料转换方法

昨天讲了时间序列的 4 大属性拆解,今天我们介绍三种时间序列资料的转换方式,
它的目的是能够让隐藏在时序中的规律可以更容易的被观察。

首先上公式和概念:

Power Transform

  • 公式:
    https://chart.googleapis.com/chart?cht=tx&chl=y'(t)%20%3D%20y(t)%5Ey
  • 概念:透过改变 trend 次方项,将 non-linear 转为 linear,使得季节性或其他规律更容易被观察

Log Transform

  • 公式:
    https://chart.googleapis.com/chart?cht=tx&chl=y'(t)%20%3D%20log(y(t))
  • 概念:是时间序列最常用的转换方式。

注意:原始资料不能有 ≤ 0 的值,否则无法转换;需确定有设定最小值

Box-Cox Transform

  • 公式:
    https://chart.googleapis.com/chart?cht=tx&chl=y_%7Bi%7D%5E%5Clambda%20%20%20%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D%20%20%20%5Cfrac%7By_%7Bi%7D%5E%5Clambda%20-%201%7D%7B%5Clambda%20%7D%20%20%26%20%20if%20%20%5Clambda%20%5Cneq%200%2C%20%5C%5C%20%20%20%20%26%20%20%5C%5C%20%20ln(y_%7Bi%7D)%20%20%26%20%20if%20%5Clambda%20%3D%200.%20%20%5Cend%7Bmatrix%7D%5Cright.
  • 概念:结合上面两者的优点,自动选择合适的 lambda 值对时序资料做转换。这样的概念源自於一般资料(非时间序列)会使用 Box-Cox Transform 的原因是,为了让资料分布更趋於常态。

看完上面一定还是雾煞煞,不知道我在写什麽XD
没关系,接下来我们用程序跑看看,被转换後的时间序列和他的分布有什麽变化:


<<:  机器人/AGV/AMR安全标准

>>:  Day02-制作Line Bot 前置作业(注册Line Developers帐号

[Day30] React - 浅谈 Component 的State

React Component 只能透过资料状态的改变来更新 UI,而 React 元件有两种资料来...

PHP:isset()小知识

前言 常常在要使用ORM model或seesion资料之前要确认他们是否为空(Null)。例如se...

30-26 之 DDD 战略设计 2 - 实作方法之 Event Storm

事件风暴 Event Storm 事件风暴 : 理解、访谈需求 目的 : 将商业流程视觉化,找出核心...

Day2关於『程序』的起源和特性&演算法

最一开始的程序是机器代码(machine code),演变成组合代码(assembly code),...

【Day11】表单:非受控元件 Uncontrolled Component

受控 vs. 非受控元件 受控元件:value 值由 React component 使用 stat...