Python:生成具有趋势的随机时间序列数据(例如周期性、指数衰减等)

标签 python pandas numpy random time-series

我正在尝试生成一些随机时间序列,这些时间序列具有周期性(例如销售)、指数下降(例如 facebook 对帖子的赞)、指数增长(例如比特币价格)、普遍增长(股票行情)等趋势。我可以使用以下内容生成通常增加/减少的时间序列

import numpy as np
import pandas as pd
from numpy import sqrt
import matplotlib.pyplot as plt

vol = .030
lag = 300
df = pd.DataFrame(np.random.randn(100000) * sqrt(vol) * sqrt(1 / 252.)).cumsum()
plt.plot(df[0].tolist())
plt.show()

但我不知道如何生成周期性趋势或指数增长或下降趋势。有没有办法做到这一点 ?

最佳答案

您可能想要评估 TimeSynth

“TimeSynth 是一个开源库,用于为*模型测试*生成合成时间序列。该库可以生成规则和不规则的时间序列。该架构允许用户将不同的*信号*与不同的架构相匹配,从而允许要生成的大量信号。下面列出了可用的*信号*和*噪声*类型。”

关于Python:生成具有趋势的随机时间序列数据(例如周期性、指数衰减等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47542752/

相关文章:

python - 通过比较两列来跟踪 Pandas 中的状态反转

python - 将 NumPy 数组连接到另一个 NumPy 数组

python - 重新格式化此 json 输出时出现问题吗?

python - 如何在测试中正确设置相对于运行脚本的路径?

python - 在 python 中不使用 Regex 算法和代码进行模式搜索

python-2.7 - pandas groupby 分组和亚组级别分析

Python - 在递归函数中使用共享变量

python - 如何从数据帧生成频率表?

python - "ValueError: object too deep for desired array"是什么意思以及如何修复它?

python - numpy,连接或初始化之间的循环选择