您好,亲爱的StackOverflow社区,
首先,我要感谢为论坛做出贡献的每个人,从而直接或间接地帮助世界上所有欠发达的编码技能的人。
现在是我的问题。 我有一系列的波动率,最后12个波动率中的每一个都用于指数加权移动平均线,以预测该时期的波动性。请参阅下面的公式。
https://i.stack.imgur.com/Z7dn3.png
现在,我需要获得权重值,这应该通过使用牛顿拉夫森算法来完成,以最小化不同权重的平方误差之和。 我的问题是现在如何优雅地将其转换为Python。 我已经看过有关如何执行牛顿法的教程,但是其中大多数与更简单的函数有关,而我对时间序列一无所知。
我的想法是以某个权重开始循环,并计算该序列和该权重的平方误差之和,然后每当这些平方误差之和的结果以0.1的增量变小时,就在循环中降低该权重然后如果再次开始上升,则权重上升0.01,直到误差结果再次上升。 但是,这似乎是一种相当复杂的方法,如果有人可以告诉我是否还有另一种更简单且可能是内置的方式来处理此问题,我将感到非常高兴,因为我对Python和时间序列。
因此,我并不是特别在寻找编码示例,而是在寻找在哪里以及如何为我的问题寻找解决方案的指南,而不是让自己觉得困难。
预先感谢
尼克
答案 0 :(得分:1)
Newton-Ralphson方法在scipy see here中实现。 您可以使用它而不是重新实现代码。 将传递权重的函数作为唯一参数传递给该函数,以该权重计算平方误差的总和。