Python 如何对具有NAN的时间序列数据使用k均值?

Python 如何对具有NAN的时间序列数据使用k均值?,python,numpy,time-series,cluster-analysis,Python,Numpy,Time Series,Cluster Analysis,我有很多时间序列记录,有时会重叠,不一定有相同的开始和结束日期。每行代表不同的时间序列。我让它们都保持相同的长度,以保持数据收集的实际时间 例如,在t(1,2,3,4,5,6)处: 我正试图用Python运行一个聚类分析来对具有类似行为的站点进行分组,因为行为的时间安排很重要,所以我不能仅仅去掉NAN。(据我所知) 有什么想法吗?K-means不是这类数据的最佳算法 K-均值旨在最小化簇内方差(=平方和,WCS) 但是如何计算与NaN的方差呢?这里的差异到底有多大意义 相反,您可能希望使用 为

我有很多时间序列记录,有时会重叠,不一定有相同的开始和结束日期。每行代表不同的时间序列。我让它们都保持相同的长度,以保持数据收集的实际时间

例如,在t(1,2,3,4,5,6)处:

我正试图用Python运行一个聚类分析来对具有类似行为的站点进行分组,因为行为的时间安排很重要,所以我不能仅仅去掉NAN。(据我所知)


有什么想法吗?

K-means不是这类数据的最佳算法

K-均值旨在最小化簇内方差(=平方和,WCS)

但是如何计算与NaN的方差呢?这里的差异到底有多大意义

相反,您可能希望使用

  • 为时间序列设计的相似性度量,如DTW、阈值交叉距离等
  • 一种基于距离的聚类算法。如果您只有几个系列,那么分层集群就可以了

能否在nan之间进行插值以获得良好的近似值?我假设电台获得nan不是一条重要的信息。也就是说,你没有把它当作基于集群的东西来使用on@Hammer,不,不能对值进行插值。首先,Nan可以出现在任何地方,包括时间序列的开始和结尾。第二,根据作者,行为的时间也是一个特征。这意味着南出现的时间也很重要。NaN不是缺失值,更准确地说,这意味着特定的特征(可以描述为整数)在那个时候并没有被观察到point@user2748977:我认为这更像是一个多元统计问题,而不是一个编程问题。时间序列中的信息似乎是二维的。首先,你有一个二项式反应:有或没有一个特定的行为。第二,如果观察到行为,它可以进一步量化为一个数字。也许某种形式的多维时间序列分析在这里最合适。
Station 1: nan, nan, 2, 4, 5, 10

Station 2: nan, 1, 4, nan, 10, 8

Station 3: 1, 9, 4, 7, nan, nan