时间序列
文章平均质量分 52
上进的菜鸟
这个作者很懒,什么都没留下…
展开
-
时间序列--可视化的几种方式
一:随时间变化的线性曲线除了最常见的,还可以设置分组,比如from pandas import Seriesfrom pandas import DataFramefrom pandas import TimeGrouperfrom matplotlib import pyplotseries = Series.from_csv('daily-minimum-temperatur...翻译 2018-12-27 09:34:15 · 8477 阅读 · 0 评论 -
时间序列--保存ARIMA
原来的模块有bugfrom pandas import Seriesfrom statsmodels.tsa.arima_model import ARIMAfrom statsmodels.tsa.arima_model import ARIMAResults# monkey patch around bug in ARIMA classdef __getnewargs__(se...翻译 2018-12-29 09:28:58 · 556 阅读 · 0 评论 -
时间序列--差分代码
from pandas import read_csvfrom pandas import datetimefrom pandas import Seriesfrom matplotlib import pyplotdef parser(x): return datetime.strptime('190'+x, '%Y-%m')# create a differenced ser...翻译 2018-12-29 09:32:18 · 3243 阅读 · 0 评论 -
时间序列--预测多步的四个策略
1.prediction(t+1) = model1(obs(t-1), obs(t-2), ..., obs(t-n))prediction(t+2) = model2(obs(t-2), obs(t-3), ..., obs(t-n))2.prediction(t+1) = model(obs(t-1), obs(t-2), ..., obs(t-n))prediction(t...翻译 2018-12-29 09:46:22 · 5324 阅读 · 0 评论 -
时间序列例子--ARIMA怎样预测外样本、一步or多步
https://machinelearningmastery.com/make-sample-forecasts-arima-python/1.划分训练集测试集、这里讲最后7天的气温当做测试集# split the datasetfrom pandas import Seriesseries = Series.from_csv('daily-minimum-temperatures....翻译 2018-12-29 16:38:20 · 9364 阅读 · 4 评论 -
时间序列--样本量的大小对模型预测好坏的影响
# fit an ARIMA modelfrom pandas import Seriesfrom matplotlib import pyplotfrom statsmodels.tsa.arima_model import ARIMAfrom sklearn.metrics import mean_squared_errorfrom math import sqrt# load ...翻译 2018-12-30 09:24:52 · 8096 阅读 · 0 评论 -
时间序列--重要变量选择
之前我们说的ARIMA直接套用就可以,因为包里面自动把它化成t-1,t-2。。。的形式了,但如果我们要变量选择的话,还是先转化成监督学习问题吧(shift...)转换成监督学习问题参考:https://machinelearningmastery.com/category/time-series/from pandas import Seriesfrom pandas import...翻译 2018-12-30 09:47:22 · 3323 阅读 · 0 评论 -
时间序列--选择基准模型(以后的模型和这个基准比较
1.以前基准是用上一个时刻的值当做这一个时刻的值,现在我设置参数不知道过去哪一个时刻的值取当做今天的值from pandas import Seriesfrom sklearn.metrics import mean_squared_errorfrom math import sqrtfrom matplotlib import pyplot# load dataseries ...翻译 2018-12-30 10:02:08 · 6297 阅读 · 0 评论 -
时间序列--ARIMA模型的一些参数解释(cheatsheet)
1.solver:采用哪一种收敛算法(不建议更改2.disp:True会打印中间过程,我们直接设置False即可3.transparam:默认是True,建议选择trueWhether or not to transform the parameters to ensure stationarity. Uses the transformation suggested in Jones...翻译 2018-12-30 10:32:57 · 13473 阅读 · 1 评论 -
时间序列--检验是否平稳
第一种方法:利用统计量You can split your time series into two (or more) partitions and compare the mean and variance of each group. If they differ and the difference is statistically significant, the time seri...翻译 2018-12-26 09:25:20 · 6137 阅读 · 2 评论 -
时间序列--自回归模型
就是利用序列上一步或者更上一步的值取预测下一步的值比如:X(t) = b0 + b1*X(t-1) + b2*X(t-2)我们可以用统计量来计算输出变量与不同时滞下的前一时刻的值之间的相关性。输出变量与特定滞后变量的相关性越强,自回归模型在建模时对该变量的权重越大。有趣的是,如果所有的滞后变量与输出变量的相关性都很低或没有相关性,那么这就表明时间序列问题可能是不可预测的我们的数...翻译 2018-12-26 09:51:37 · 26846 阅读 · 2 评论 -
时间序列--平滑+特征工程
https://machinelearningmastery.com/moving-average-smoothing-for-time-series-forecasting-python/平滑的希望是消除噪声,更好地揭示潜在的因果过程的信号。移动平均线是时间序列分析和时间序列预测中常用的一种简单的平滑方法。计算移动平均线需要创建一个新的序列,其中的值由原始时间序列中原始观测值的平均值组成。...翻译 2018-12-23 20:44:36 · 9200 阅读 · 5 评论 -
时间序列--去除季节性因素
时间序列数据集可以包含季节性成分。这是一个随时间重复的周期,如每月或每年。这种重复的循环可能会模糊我们在预测时希望建模的信号,从而可能为我们的预测模型提供一个强大的信号。可以看出有很强的季节性成分第一个方法:差分用上一年的数据剪去这一年的数据from pandas import Seriesfrom matplotlib import pyplotseries = Ser...翻译 2018-12-23 20:14:05 · 37162 阅读 · 2 评论 -
时间序列--残差分析
残差=y-yhat一般我们就停止在这里了但是如果残差表现的有某种形式,代表我们的模型需要进一步改进,如果残差表现的杂乱无章,代表确实没什么别的信息好提取了现在用最naive的model--上一个时间的值=yhat看看残差表现吧关于残差,可以看我的另一篇文章https://mp.csdn.net/postedit/82989567from pandas import Serie...翻译 2018-12-27 09:53:40 · 24562 阅读 · 3 评论 -
时间序列--ARIMA(原理简单应用
Autoregressive Integrated Moving Average Model,即自回归移动平均模型。它属于统计模型中最常见的一种,用于进行时间序列的预测。其原理在于:在将非平稳时间序列转化为平稳时间序列的过程中,将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型。 其实就是三大块的整合1.自回归model自回归模型是描述当前值与...转载 2018-12-27 15:52:32 · 33296 阅读 · 5 评论 -
时间序列--MA(残差模型构建)
残差如果有某种结构,我们可以对残差建模,进一步捕捉信息可以为剩余误差时间序列创建一个模型,并预测模型的预期误差。然后可以从模型预测中减去预测误差,从而提高性能。一个简单有效的残差模型是自回归模型。这是使用一些滞后误差值来预测下一个时间步骤的误差的地方。这些滞后误差组合在线性回归模型中,很像直接时间序列观测的自回归模型。error(t) = b0 + b1*error(t-1) + b2...翻译 2018-12-27 16:11:17 · 7989 阅读 · 1 评论 -
时间序列--ARIMA(寻找最优参数
1.评估ARIMA模型分为训练集合测试集,在测试集上比较预测值和真实值的mse注意:因为ARIMA只能预测一步,所以多一步预测,我们要滚动着来,建立了很多同参数的ARIMA模型,这体现在代码的history.append()# evaluate an ARIMA model for a given order (p,d,q)def evaluate_arima_model(X, a...翻译 2018-12-27 20:59:26 · 10293 阅读 · 2 评论 -
时间序列--模型前的转换
1.sqrt转换先看序列的trend,如果有二次曲线的表现形式的话,可以做个sqrt昨晚sqrt之后张成这样子原来的数据长这样:做个sqrtfrom pandas import Seriesfrom pandas import DataFramefrom numpy import sqrtfrom matplotlib import pyplotserie...翻译 2018-12-27 21:42:40 · 838 阅读 · 0 评论 -
时间序列--分解
可以分解为四个模块These components are defined as follows:Level: The average value in the series. Trend: The increasing or decreasing value in the series. Seasonality: The repeating short-term cycle in t...翻译 2018-12-27 21:57:47 · 5310 阅读 · 0 评论 -
时间序列--用置信区间更好的解释结果
from pandas import Seriesfrom statsmodels.tsa.arima_model import ARIMAseries = Series.from_csv('daily-total-female-births.csv', header=0)X = series.valuesX = X.astype('float32')size = len(X) - 1...翻译 2018-12-28 15:28:53 · 6699 阅读 · 1 评论 -
时间序列--加入有用的特征
这里以一维时序为例1.加入上一个、或几个时期的数据shift函数可以实现,参考连接:df['t-1']=df['t'].shift(1) #创建了和t之后一项的序列,同等长度,前面的第一个变成了NA df['t-1']=df['t'].shift(-1) # 提前一项,最后一项为nan2.我们可以通过滑动窗口中的值计算汇总统计信息,并将这些值作为特性包含在数据集中。也许最有用的是...转载 2018-12-23 15:47:27 · 1145 阅读 · 0 评论 -
时间序列--上采样、下采样
在上采样的情况下,可能需要注意如何使用插值来计算细粒度的观测值在向下采样的情况下,在选择用于计算新聚合值的汇总统计信息时可能需要小心。也许有两个主要原因让你对重新采样你的时间序列数据感兴趣:1.问题框架:如果您的数据与您希望进行预测的频率相同,则可能需要重新采样。2.特征工程:重采样还可以用于为监督学习模型提供额外的结构或洞察学习问题。这两种情况有很多重合之处。例如,您可能有每...翻译 2018-12-23 16:17:51 · 6490 阅读 · 0 评论 -
时间序列--去趋势
https://machinelearningmastery.com/time-series-trends-in-python/趋势是时间序列水平的长期增加或减少有趋势的时间序列是非平稳的。可以模拟确定的趋势。建模之后,它可以从时间系列数据集中去除。这就是时间序列去趋势。该数据集有明显的上升趋势差分法去趋势时间序列去趋势最简单的方法就是差分。具体而言,在等时间步长的...翻译 2018-12-23 19:42:13 · 33072 阅读 · 1 评论 -
时间序列流程
一、变平稳1.1 去趋势 差分、取对数1.2去周期性 滤波、差分1.3变平稳的原因除了1.1、1.2之外还有 稳定方差、使数据呈现正态分布、使周期效应累加ARIMA模型的示例代码from pandas import read_csvfrom pandas import datetimefrom matplotlib import pyplo...原创 2019-09-22 10:46:02 · 881 阅读 · 0 评论