Grypa

Czy na podstawie Wikipedii można przewidzieć ile osób zachoruje na grypę? Sprawdźmy!

Sezon na grypę

Parę tygodni temu opisywałem jak na Wikipedii wygląda sezon na grypę. Tym razem postarm się porównać te dane z faktycznymi zachorowaniami.

Liczbę chorych wziąłem ze strony Narodowego Instytutu Zdrowia Publicznego – Państwowego Zakładu Higieny, na której są udostępniane cotygodniowe meldunki o zachorowaniach i podejrzeniach zachorowania na grypę. Postaram się sprawdzić przede wszystkim czy te dane są powiązane z odslonami na Wikipedii. Jeśli są, to czy na podstawie aktywności internautów można wyznaczyć liczbę nowych przypadków grypy.

Ostatnie dwa sezony wyglądają tak:

Grypa - liczba zachorowań i odsłony na Wikipedii

Już na pierwszy rzut oka widać, że te dwie zmiene są ze sobą skorelowane. Współczynnik korelacji wynosi (w zależności od tego, czy porównujemy wartości z tego samego tygodnia, czy dopuszczamy drobne przesunięcie):

  • przypadki grypy, a odsłony z tego samego tygodnia: 0.7035004
  • przypadki grypy, a odsłony +1 tydzień — 0.58454
  • przypadki grypy, a odsłony -1 tydzień — 0.7469099
  • przypadki grypy, a odsłony -2 tygodnie — 0.7125224
  • przypadki grypy, a odsłony -3 tygodnie — 0.5912433

Patrząc na powyższe współczynniki widać, że największą wartość otrzymamy, gdy porównujemy liczbę odsłon sprzed tygodnia z aktualną liczbą zachorowań. Wygląda więc na to, że odsłony na Wikipedii wyprzedzają faktyczne zachorowania o tydzień tak, jakby ludzie najpierw czytali o grypie a dopiero potem szli do lekarza.

Model

Najciekawsza wg mnie będzie próba wyznaczania liczby zachorowań na podstawie odsłon. Po kilku eksperymentach zdecydowałem się zbudować model wykorzystujący następujące zmienne (notacja R):

lm(cases.y ~  month + previous_x_1 : season)

gdzie:

  • cases.y — faktyczne zachorowania na grypę (PZH),
  • month — miesiąc (“01”-“12”),
  • previous_x_1 — liczba odsłon artykułu ‘Grypa‘ na polskiej Wikipedii w poprzednim tygodniu
  • season — zmienna kategoryczna, rozróżniająca kolejne sezony grypy

Grypa - zachorowania i model w oparciu o odsłony na Wikipedii

Widać, że model dość dobrze opisuje to zjawisko. Na danych historycznych dwa przebiegi są bardzo zbliżone.

Na zbiorze testowym średni bezwzględny błąd procentowy wyniósł ok. 17%. Taki wynik dostawałem zarówno gdy zbiór testowy był 1/10 losowo wybranych obserwacji (kross walidacja), jak i obserwacjami z ostatnich 4 miesiący.