如何检查时间序列数据是线性还是非线性

时间:2017-07-11 09:20:04

标签: python machine-learning non-linear-regression

我有一个系统空闲时间的数据如下:

日期|空闲时间开始|空闲时间结束|空闲时间|

2017/07/11 | 10:36:21 | 10:37:28 | 67 |

2017/07/11 | 10:45:44 | 10:46:58 | 74 | .......

我想使用python检查空闲持续时间是线性还是非线性。我的第二个问题是,如果我想预测未来时间的空闲持续时间,那么任何建议我如何将此数据转换为数据帧,以便我可以执行某种回归分析。 我已将空闲持续时间和空闲持续时间的开始存储在一个数组中。我还使用以下代码绘制了数据:

SampleOne, Times = get_idletime_set(1000)
FMT = '%Y-%m-%d %H:%M:%S'
Dates=[]
for i in Times:
    Dates.append(datetime.strptime(i, FMT))


plt.plot(Dates, SampleOne)
plt.ylabel('Idle Duration')
plt.xlabel('Time')
plt.show()

我得到了这张图。 enter image description here

获得的图形不是直线。这是否意味着空闲持续时间与时间不是线性的。

1 个答案:

答案 0 :(得分:0)

  1. 原谅我现在会更加统一。所以你想检查你的模型是否像idle = c * t + u或者idle = g(t)+ u(有一些常数c,t作为时间,u作为未观察到的所有因素)对吗?首先,你的图表不是一个valide时间序列图,因为日期似乎没有正确排序(某些行正在交叉,这是不正确的)

  2. 如所提出的,这是关于模型选择的统计问题。因此,您可以对两个变量之间的线性或非线性关系进行测试,或者将其作为时间序列模型进行回归,而不使用自回归项,并与信息标准进行比较。但模型选择是一个很大的话题。简单的方法是每天平均空闲时间,并在时间指数上将其回归为各种组合的idel~t +t²+ ln(t),并比较它们的性能和重要性。

  3. 我会考虑您阅读此内容或将此问题作为统计堆栈提出exchange