预言家和预言家

profetorch的Python项目详细描述


教授

FB Prophet + Fastai + pyTorch.

这是prophet的另一种实现,它使用分位数回归代替MCMC抽样。它比prophet有以下优点:

  • GPU使用情况。在
  • 严格的上下界。在
  • 可以向时间序列添加任何其他功能集。在

时间序列的实现如下:

\开始{aligned} y&;=b(T(T)+S(T)+F(x)| l,u)\ T(T)和=mt+a\ S(t)&;=\sum{n=1}^n\左(a_n\cos\ left(\frac{2\pi nt}{P}\right)+b\n\sin\左(\frac{2\pi nt}{P}\right)\right)\ F(x)&;=w^T x\ b(y | l,u)&;=\begin{cases} l\quad\text{if}y<;l\ y\quad\text{if}l<;y<;u\ u\quad\text{if}y>;u \结束{cases} \结束{aligned}

其中,$T(T)$是趋势线,$S(T)$是由傅立叶和组成的季节性分量,$F(x)$是一个线性函数,它加权与时间无关的特征。在

因此,任务是找到使损失函数$l(\hat{y},y)$最小化的参数$a,m、\cup\na\u n、\cup\un b\u n,w$。默认设置为最小化$l1$loss$\frac{1}{N}\sum{i=1}^N | y_i-\hat{y_i}|$,这样对离群值的依赖最小。默认情况下,我们还通过最小化倾斜损失函数来计算第5和第95分位数。分位数函数计算如下: \开始{align} y_5&;=b(\hat{y}-(m_5t+a_5)| l,u)\ y{95}&;=b(\hat{y}+(m{95}t+a{95})l,u) \结束{align}

安装

pip install profetorch

教授培训

model_params={'y_n':10,'m_n':7,'l':0,'h':train_df['y'].max()*2}model=Model(train_df,model_args=model_params,epochs=30,alpha=1e-2,beta=0)model.fit(train_df)
^{pr2}$
y_pred=model.predict(df)plt.figure(figsize=(12,5))plt.scatter(df['ds'],df['y'],label='Data')plt.plot(train_df['ds'],y_pred[:train_len,1],c='r',label='Train Set')plt.fill_between(train_df['ds'],y_pred[:train_len,0],y_pred[:train_len,2],alpha=0.5)plt.plot(test_df['ds'],y_pred[train_len:,1],c='g',label='Test Set')plt.fill_between(test_df['ds'],y_pred[train_len:,0],y_pred[train_len:,2],alpha=0.5)plt.show()

png

显然还有更多的工作要做,如上图所示。但是,请注意:

  1. 季节性成分被捕捉。在
  2. 分位数是不对称的,这在fb先知案中是不可能发生的。在
  3. 如果有足够的兴趣,我会弥补这些不足。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像