Python:Z评分参数计算
我知道使用Python进行滚动z分数计算 给定原始分数和z分数,是否可以计算用于计算原始分数平均值的滚动窗口?请提出前进的方向Python:Z评分参数计算,python,pandas,statistics,Python,Pandas,Statistics,我知道使用Python进行滚动z分数计算 给定原始分数和z分数,是否可以计算用于计算原始分数平均值的滚动窗口?请提出前进的方向 def zscore(x, window): r = x.rolling(window=window) m = r.mean().shift(1) s = r.std(ddof=0).shift(1) z = (x-m)/s return z import pandas as pd import numpy as np
def zscore(x, window):
r = x.rolling(window=window)
m = r.mean().shift(1)
s = r.std(ddof=0).shift(1)
z = (x-m)/s
return z
import pandas as pd
import numpy as np
raw1 = pd.DataFrame(np.random.randn(100, 1), columns=list('A'))
z_score1=zscore(raw1,20)
现在,我只有原始分数和z分数,观察次数相等
raw2 = pd.DataFrame(np.random.randn(100, 1), columns=list('A'))
z_score2 = pd.DataFrame(np.random.randn(100, 1), columns=list('A'))
如果raw2和z_score2都有相同数量的观察值,如何计算用于计算z分数的观察值数量?
非常感谢您。不幸的是,我不知道有任何优化函数可以处理所需的整数约束 根据数据的大小,我建议使用暴力手段。下面的操作很好
raw2 = pd.Series(np.random.randn(100))
zscore2 = zscore(raw2, 30)
err = pd.Series()
for widow in range(1, zscore2.shape[0]):
err.loc[widow] = (zscore2 - zscore(raw2, widow)).abs().sum()
err.idxmin()