Я измерил данные (вибрации) от ветряной турбины, работающей в разных условиях эксплуатации. Мой набор данных состоит из рабочих условий , а также особенностей измерения Я извлек из измеренных данных.
Форма набора данных: (423, 15)
. Каждая из 423 точек данных представляет собой измерение за день, хронологически в течение 423 дней.
![enter image description here](https://i.stack.imgur.com/pnhyb.png)
Теперь я хочу объединить данные, чтобы увидеть, есть ли любое изменение в измерениях. В частности, я хочу исследовать, меняются ли вибрации во времени (что может указывать на неисправность в коробке передач турбины).
Что я в настоящее время сделал:
- Масштабирование данных между 0,1 ->
- Выполнение PCA (уменьшить с 15 до 5)
- Кластер с использованием db scan , поскольку я не знаю количество кластеров , Я использую этот код, чтобы найти оптимальный эпсилон (eps) в dbscan:
# optimal Epsilon (distance):
X_pca = principalDf.values
neigh = NearestNeighbors(n_neighbors=2)
nbrs = neigh.fit(X_pca)
distances, indices = nbrs.kneighbors(X_pca)
distances = np.sort(distances, axis=0)
distances = distances[:,1]
plt.plot(distances,color="#0F215A")
plt.grid(True)
Результат пока не дает четкого указания на то, что данные меняются со временем:
![enter image description here](https://i.stack.imgur.com/mKa6i.png)
Конечно, случай может быть, что данные не меняются в этих точках данных. Каковы еще некоторые вещи, которые я мог бы попробовать? Вроде открытого вопроса, но у меня заканчиваются идеи.