python:我想用changefind实现变更点检测

2024-10-01 09:40:37 发布

您现在位置:Python中文网/ 问答频道 /正文

假设

我是一个初学者程序员。在

我想在Python3中实现变点检测。 使用的库是“ChangeFinder”。 我想从温度数据中得到一阶差(y_diff),并输出一个应用ChangeFinder的图形。 谢谢你的回答和建议。在

问题/错误消息


ValueError: view limit minimum -36868.78052083334 is less than 1 and is an invalid Matplotlib date value. This often happens if you pass a non-datetime value to an axis that has datetime units

适用的源代码

^{pr2}$

-----后记------

图形已显示。但是,分数数据不存在。在

适用的源代码

^{3}$

结果

2019-11-11 22:01:00    0.00
2019-11-11 22:02:00    0.00
2019-11-11 22:03:00    0.00
2019-11-11 22:04:00   -0.49
                       ... 
2019-11-12 21:56:00    0.00
2019-11-12 21:57:00    0.00
2019-11-12 21:58:00    0.00
2019-11-12 21:59:00    0.00
2019-11-12 22:00:00     NaN
Freq: T, Length: 1441, dtype: float64
[nan, 0.0, 0.0, 0.0, -0.48999999999999844, 0.0, 0.0, 0.0, 0.0, 0.48999999999999844, -0.48999999999999844, 
・・・
 -0.48999999999999844, 0.0, 0.0, 0.0, 0.0, nan]
1441(←data length)

数据长度为1441。但是,绘图数据显示的数据很少。

问题/错误消息

C:\Users\~~~\__init__.py:24: RuntimeWarning: divide by zero encountered in double_scalars
  lam /= e[k]
C:\Users\~~~\__init__.py:34: RuntimeWarning: invalid value encountered in multiply
  a = np.array(U) + lam * np.array(V)
C:\Users\~~~\__init__.py:35: RuntimeWarning: invalid value encountered in double_scalars
  e[k + 1] = e[k] * (1.0 - lam * lam)

下面是图表。在

Graph of "data" and "score"


Tags: 数据inpy图形消息initisvalue