首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用自回归来绘制和可视化时间序列未来值的预测?

如何使用自回归来绘制和可视化时间序列未来值的预测?
EN

Stack Overflow用户
提问于 2019-02-13 10:22:26
回答 1查看 49关注 0票数 0

我想画出时间序列和对其未来价值的预测。我使用的是自回归模型。我不确定我使用的策略是否正确。但我想在未来估计15个时间戳的时间序列数据。我希望在不同的可能性之间有一个填充:

代码语言:javascript
运行
AI代码解释
复制
import numpy as np
from numpy import convolve
import matplotlib.pyplot as plt
plt.style.use('ggplot')

def moving_average(y, period):
    buffer = []
    for i in range(period, len(y)):
        buffer.append(y[i - period : i].mean())
    return buffer

def auto_regressive(y, p, d, q, future_count):
    """
    p = the order (number of time lags)
    d = degree of differencing
    q = the order of the moving-average
    """
    buffer = np.copy(y).tolist()
    for i in range(future_count):
        ma = moving_average(np.array(buffer[-p:]), q)
        forecast = buffer[-1]
        for n in range(0, len(ma), d):
            forecast -= buffer[-1 - n] - ma[n]
        buffer.append(forecast)
    return buffer



y=[60, 2, 0, 0, 1, 1, 0, -1, -2, 0, -2, 6, 0, 2, 0, 4, 0, 1, 3, 2, 1, 2, 1, 0, 2, 2, 0, 1, 0, 1, 3, -1, 0, 2, 2, 1, 3, 2, 4, 2, 3, 0, 0, 2, 2, 0, 3, 1, 0, 2]
x=[1549984749, 1549984751, 1549984755, 1549984761, 1549984768, 1549984769, 1549984770, 1549984774, 1549984780, 1549984783, 1549984786, 1549984787, 1549984788,
   1549984794, 1549984797, 1549984855, 1549984923, 1549984930, 1549984955, 1549985006, 1549985008, 1549985027, 1549985086, 1549985091, 1549985101, 1549985115,
   1549985116, 1549985118, 1549985130, 1549985130, 1549985139, 1549985141, 1549985146, 1549985154, 1549985178, 1549985192, 1549985203, 1549985217, 1549985245,
   1549985288, 1549985311, 1549985316, 1549985425, 1549985447, 1549985460, 1549985463, 1549985489, 1549985561, 1549985595, 1549985610]
x=np.array(x)
print(np.size(x))
y=np.array(y)
print(np.size(y))

future_count = 15
predicted_15 = auto_regressive(y,20,1,2,future_count)

plt.plot(x[len(x) - len(predicted_15):], predicted_15)
plt.plot(x, y, 'o-')
plt.show()

但是我得到了这个错误:

代码语言:javascript
运行
AI代码解释
复制
    "have shapes {} and {}".format(x.shape, y.shape))
ValueError: x and y must have same first dimension, but have shapes (15,) and (65,)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-13 10:37:07

您将收到一个错误,因为predicted_15包含y以及您的预测值(因此y的长度为65)。您只想绘制预测值(长度为15)。

代码语言:javascript
运行
AI代码解释
复制
plt.plot(x[len(x) - len(predicted_15):], predicted_15[len(x):])

话虽如此,您需要考虑这些预测的y值对应的x值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54667784

复制
相关文章
三元运算符
var b = 5; alert((b == 5) ? a = "true" : a = "false"); 答案:true //判断一个整数是奇数还是偶数 var a, b; a = window.
闻语博客
2021/01/21
1K0
三元运算符
三元运算符在Python中通常被称为条件表达式。 这些运算符根据条件是否正确来评估某些事情。
Helloted
2022/06/06
8450
三元运算符
var b = 5; alert((b == 5) ? a = "true" : a = "false"); 答案:true //判断一个整数是奇数还是偶数 var a, b; a = window.
小语雀网
2022/05/06
5810
三元运算符
特殊说明:以上文章,均是我实际操作,写出来的笔记资料,不会盗用别人文章!烦请各位,请勿直接盗用!转载记得标注来源!
收心
2022/01/19
5790
JAVA三元运算符_java中三元运算符详解
三元运算符是if else或者if else if else的简写形式,可以使代码看起来简洁些。
全栈程序员站长
2022/09/27
6130
python三元运算符
转载于:https://www.cnblogs.com/shengguorui/p/11149593.html
用户7886150
2021/01/22
1.2K0
PHP三元运算符
PHP5.3.0 更新公告 : https://www.php.net/releases/5_3_0.php
很酷的站长
2023/02/03
9140
三元运算符用法_三元运算符判断三个值
大家好,又见面了,我是你们的朋友全栈君。 一、三元运算符 条件运算符 (?:) 也称为三元条件运算符,用于计算布尔表达式,并根据布尔表达式的计算结果为 true 还是 false 来返回(使
全栈程序员站长
2022/09/27
7490
JavaScript条件运算三元运算符和四元运算符的写法
exprIfTrue 如果表达式 condition 的计算结果是 truthy(它和 true 相等或者可以转换成 true ),那么表达式 exprIfTrue 将会被求值。
德顺
2020/04/01
2.1K0
JavaScript语法-逻辑运算符、三元运算符
JavaScript语法-逻辑运算符 && || !其他类型转换Boolean:1、number:0或NaN为假,其他为真2、string:除了空为字符串(" "),其他都是true3、null&undefined:都是false4、对象:所有对象都为true代码案例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>逻辑运算符</title> <script> var flag = tru
用户9392460
2022/11/17
6400
<Javascript>浅谈js“三元表达式” (三元运算符)
各位大神,大家好,相约周三。我们又见面了。 众所周知,三元表达式在代码量上比if…else语句更简洁一些。但是博主在可读性上更加偏向于if…else语句。三元表达式不仅在js中使用,在很多后台程序语言,比如java、php中都有使用,不过在js中对于三元表达式的要求貌似要松很多。废话不多说。下面一起看看三元表达式。
全栈程序员站长
2022/09/14
3.3K0
<Javascript>浅谈js“三元表达式” (三元运算符)
java之三元运算符
逻辑运算 ? m : n;如果逻辑运算为真,则返回m,否则返回n 实例: 判断i,j两个数的大小,如果a较大,则输出1,否则输出0; 找到i,j,k三个数中的最大值; public class Tes
西西嘛呦
2020/08/26
7140
PHP的三元运算符
三元运算符语法:条件 ? 结果1 : 结果2 说明:问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2。 记性太差先记录下方便日后看 $if_summary = $row['IF_SUM
用户8099761
2023/05/11
1.7K0
java之三元运算符
需要三个数据才可以进行操作的运算符 格式:数据类型 变量名=条件?表达式A:表达式B 判断条件是否成立,成立为true,表达式A的值赋给左侧的变量;判断条件不成立为false,将表达式B的值赋给左侧的变量。
IT工作者
2022/02/11
6520
Java之三元运算符
文章目录 三元运算符 1. 基本语法 2. 案例演示 TernaryOperator.java 3. 三元运算符使用细节 4. 课堂练习 三元运算符 1. 基本语法 条件表达式 ? 表达式 1: 表达
兮动人
2021/06/11
1.2K0
Java之三元运算符
v-show使用三元运算符
这里是使用了element-ui <template slot-scope="scope"> <el-button type="primary" plain v-show="scope.row
江一铭
2022/06/17
5810
python中的三元运算符
三元运算符 a if test else b 如果test为真则返回a,否则返回b x = x+1 if x%2==1 else x 实现斐波那契序列 def fn(n): return n if n < 2 else fn(n-1)+fn(n-2)
Tim在路上
2020/08/05
1.1K0
Java中的三元运算符
讲三元运算符之前,我们先讲一讲双目运算符,比如我们常用 “=” 赋值运算符,就是一个双目运算符。它的格式如下:
Gorit
2021/12/09
9760
java三元运算符怎么用_按位运算符
大家好,又见面了,我是你们的朋友全栈君。 Java提供了一个三元运算符,可以同时操作3个表达式。三元运算符语法格式如下: 判断条件? 表达式1 :表达式2 在上述语法格式中,当判断条件成立
全栈程序员站长
2022/11/01
6690
vue 三元运算讲解
如果第一个条件为真,则引用第一个值classA;否则引用第二个值classB;通过切换显示不同的样式
侠客冷展堂
2022/01/07
1.9K0
vue 三元运算讲解

相似问题

三元运算符和赋值运算符

20

三元运算符和html

10

Props和三元运算符

220

三元(条件)运算符和样式

40

三元运算符和宏#定义

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档