我在Pyspark写了一个时间序列的异常检测算法.我想计算(-3,3)或(-4,4)窗口的加权移动平均值.现在我使用滞后和超越窗口函数并将它们乘以一组权重.我的窗口目前是(-2,2).
我想知道是否有另一种计算Pyspark加权移动平均线的方法.
我目前使用的代码是:
data_frame_1 = spark_data_frame.withColumn("weighted_score_predicted", (weights[0] * lag(column_metric, 1).over(w) + weights[1] * lag(column_metric, 2).over(w) + weights[2] * lead(column_metric, 1).over(w) + weights[3] * lead(column_metric, 2).over(w)) / 2).na.drop()
Run Code Online (Sandbox Code Playgroud)