熊猫ewm var和std

时间:2019-11-11 23:02:26

标签: python pandas dataframe

我没有成功尝试复制指数加权移动方差的计算。 这是我使用的代码。

import pandas as pd
import numpy as np


l = [12., 12.5, 13.1, 14.6, 17.8, 19.1, 24.5]
df = pd.DataFrame(data=l, columns=['data'])
N = 5

a = 2./(1+N)
bias = (2-a)/2./(1-a)
ewma = df.ewm(span=N).mean()
var_pandas = df.ewm(span=N, adjust=False).var()

var_calculated = (1-a) * (var_pandas.shift(1) + bias * a * (df - ewma.shift(1))**2)

var_pandas
Out[100]: 
        data
0        NaN
1   0.125000
2   0.359231
3   1.582143
4   7.157121
5  10.080647
6  26.022245

var_calculated
Out[101]: 
        data
0        NaN
1        NaN
2   0.261111
3   1.264610
4   6.246149
5   9.135133
6  24.123265

您会看到,我仍然有我无法理解的区别。 感谢您的见解!

我从pandas ewm.std calculation

使用了上面的公式

1 个答案:

答案 0 :(得分:0)

复制粘贴由kosnik发布的代码,并进行构建以回答此问题。下方:

{
  "query": {
    "bool": {
      "must": {
        "match": {
          "name": "Acme Incorporated"
        }
      },
      "must_not": {
        "term": {
          "name.keyword": "Acme Incorporated"
        }
      }
    }
  }
}

enter image description here