Wykorzystanie równań liniowych analiza danych z czujników

Opublikowano: 19.11.2024

Układy równań liniowych mimo, że nie pozorne to sąnarzędziami matematycznymi, które znajduje zastosowanie w wielu dziedzinach nauki i techniki.
Pozwalają na opisanie zależności między różnymi wielkościami w sposób prosty i efektywny. W kontekście analizy danych, takich jak pomiary z czujników, układy równań liniowych mogą być wykorzystywane do modelowania wpływu różnych zmiennych na określony wynik lub zjawisko.

Poniżej postaram się przedstawić przykład wraz z prostym skryptem w Python, który wykorzystując dane z czterech stacji sprawdzających jakość powietrza rozmieszczonych w różnych częściach miasta, będzie w stanie szacować jakość powietrza w punkcie piatym, gdzie takiej stacji nie ma ale wykonaliśmy jednorazowo 4 pomiary podręcznym czujnikiem w odstępach czasu.

Założenia:

Każdy z czujników mierzy stężenie CO2 w swojej lokalizacji (ppm). Dane pomiarowe prezentują się następująco w rónych mometach czasu:

Lokalizacja A B C D
Stężenie CO2 (ppm)  Czas: t1 400.45 420.432 450.01 470.6433
Czas: t2 405.2 415.43 455.34 465.689
Czas: t3 410.034 430.194 460.423 480.9
Czas: t4 420.1 440.634 470.034 49.85

 

Dla punktu E również mamy zmierzone wartości stężenia CO2 w w tych samych momentach czasu jak wyżej:

Czas Stężenie w punkcie E (ppm)
t1 451
t2 475.0345
t3 490.12
t4 510.4

Rozwiązaniem układu będą współczynniki \(x_1, x_2, x_3, x_4\), które określają wpływ danych z każdego czujnika na przewidywaną wartość E.

Dla podanych danych, układ równań liniowych można zapisać w postaci:
$$\begin{cases}x_1 \cdot 400.45 + x_2 \cdot 420.432 + x_3 \cdot 450.01 + x_4 \cdot 470.6433 &= 451 \\x_1 \cdot 405.2 + x_2 \cdot 415.43 + x_3 \cdot 415.43 + x_4 \cdot 465.689 &= 475.0345 \\x_1 \cdot 410.034 + x_2 \cdot 430.194  + x_3 \cdot 460.423 + x_4 \cdot 480.9 &= 490.12 \\x_1 \cdot 420.1 + x_2 \cdot 440.634 + x_3 \cdot 470.034 + x_4 \cdot 49.85 &= 510.4 \\\end{cases}$$

Lub w zapisie macierzowym:
$$ \begin{bmatrix} 400.45 & 420.432 & 450.01 & 470.6433 \\ 405.2 & 415.43 & 455 & 465.689 \\ 410.034 & 430.194 & 460.423 & 480.9 \\ 420.1 & 440.634 & 470.034 & 49.85 \\ \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \\ \end{bmatrix} = \begin{bmatrix} 451 \\ 475.0345 \\ 490.12 \\ 510.4 \\ \end{bmatrix} $$


Pisanie programu

Program rozwiązujący układ równań:


Rozwiązanie po uruchomieniu:




Dostaliśnmy cztery współczynniki które możemy wykrozystać do obliczania jakości powietrza w punkcie E na podstawie odczytów z punktów A, B, C oraz D.
Aby sprawdzić czy wszystko sięzgadza do programu poniżej wpisałem takie same dane z czujników (A, B, C, D) jak w t1 więc jako wynik powiniśmy otrzymać to co było w t1 dla punktu E.


Jako wynik otrzymujemy dokładnie 451 ppm więc wszystko się zgadza i możemy teraz szacować jakość powietrza w punkcie E na podstawie wartości czterech w innych częściach miasta.