analiza

This is an old revision of the document!


Analiza Danych i Wyniki Symulacji

W tym rozdziale przedstawione są przykłady algorytmów w kodzie. W tym celu stworzono środowisko analityczne oparte na języku Python, które wykorzystano do przetworzenia rzeczywistych danych z systemu BMS.

Analizę przeprowadzono w środowisku Google Colab. Wykorzystano standardowy stos technologiczny Data Science:

  • Pandas: Do wczytania i czyszczenia danych (pliki CSV).
  • Scikit-Learn: Do budowy modeli uczenia maszynowego (Regresja, Isolation Forest).
  • Matplotlib / Seaborn: Do wizualizacji wyników.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import IsolationForest
 
# Wczytanie surowych danych z BMS
df = pd.read_csv('bms_data_2026.csv')

Cel: Sprawdzenie, czy można przewidzieć zużycie prądu (zmienna zależna) na podstawie temperatury zewnętrznej (zmienna niezależna).

Zastosowano algorytm Regresji Liniowej. Model został wytrenowany na danych z okresu zimowego.

Kod modelu:

# Definicja zmiennych
X = df[['temp_zewnetrzna']] # Input
y = df[['zuzycie_energii']] # Output
 
# Trenowanie modelu
model = LinearRegression()
model.fit(X, y)
 
# Predykcja
y_pred = model.predict(X)

Wnioski z analizy:

  • Wykres wskazuje na silną korelację (wzrost temperatury w godzinach porannych zgodnie z przewidywaniem modelu).
  • Model osiągnął współczynnik dopasowania R² = 0.85, co oznacza, że w 85% zmienność zużycia energii da się wyjaśnić samą pogodą. Pozostałe 15% to czynniki losowe (np. liczba ludzi w biurze).

Cel: Automatyczne wykrycie nietypowej pracy centrali wentylacyjnej bez definiowania ręcznych progów alarmowych.

Wykorzystano algorytm Isolation Forest (Las Izolujący), który świetnie sprawdza się w danych zaszumionych. Algorytm ten izoluje obserwacje, które drastycznie różnią się od reszty zbioru.

Kod modelu:

# Konfiguracja modelu (zanieczyszczenie zbioru = 1%)
iso_forest = IsolationForest(contamination=0.01)
df['anomalia'] = iso_forest.fit_predict(df[['moc_wentylatora', 'przeplyw_powietrza']])
 
# Wynik: -1 oznacza anomalię, 1 oznacza normę
anomalies = df[df['anomalia'] == -1]

Wyniki: Algorytm wykrył 3 istotne anomalie w badanym miesiącu:

1. **Nocne uruchomienie:** Wentylacja włączyła się o 3:00 w nocy (błąd harmonogramu).
2. **Zator filtra:** Wysoka moc wentylatora przy niskim przepływie powietrza (sugeruje konieczność wymiany filtra).
3. **Błąd czujnika:** Chwilowy, niefizyczny skok odczytu.

Przeprowadzone symulacje potwierdzają, że algorytmy Machine Learning mogą być skutecznie stosowane w Facility Management.

  • Prosta Regresja pozwala precyzyjniej budżetować koszty mediów.
  • Detekcja anomalii pozwala wyłapać usterki, które umykają uwadze operatora BMS.

Dalszy rozwój projektu mógłby obejmować integrację modelu z systemem pogodowym API w czasie rzeczywistym.

  • analiza.1769119302.txt.gz
  • Last modified: 2026/01/22 22:01
  • by admin