Ruka hadi maudhui makuu
Mafunzo ya AI

Kagua na Tabiri Data za Chanjo za DHIS2 kwa Python

Jifunze jinsi ya kuendesha mtiririko wa kazi wa Python na Jupyter unaokagua data za kila mwezi za chanjo za DHIS2, kukadiria ripoti zinazokosekana, kubaini thamani zilizorudiwa au kubadilishwa, na kulinganisha utabiri wa seasonal naive, SARIMA na gradient boosting bila kuvuja kwa taarifa za baadaye.

Kagua na Tabiri Data za Chanjo za DHIS2 kwa Python

Kile ambacho mradi huu hufanya

Mradi huu hutoa mtiririko wa kazi wa mwanzo hadi mwisho wa kutoa, kukagua, kukamilisha na kutabiri data ya kila mwezi ya chanjo kutoka DHIS2. Unafanya kazi na dozi za Measles, BCG na OPV1 zilizoripotiwa na wilaya 13 katika miezi 60 iliyokamilika, kuanzia Septemba 2021 hadi Agosti 2026.

Seti ya data iliyojumuishwa inatoka kwenye mfumo wa majaribio wa umma wa DHIS2 unaoendesha toleo la 2.43.1. Hii ni data ya sampuli na haina taarifa za kibinafsi au za mahali pa kazi. Kwa hiyo, matokeo yanaonyesha mbinu za uchanganuzi na matatizo ya ubora wa data; hayapaswi kutafsiriwa kama matokeo kuhusu mwelekeo halisi wa afya.

Mtiririko wa kazi una hatua kuu nne:

  1. Rejesha data ya jumla ya kila mwezi kupitia API ya uchanganuzi ya DHIS2 au pakia nakala ya CSV iliyohifadhiwa.
  2. Kagua ukamilifu wa taarifa, marudio ya mwaka hadi mwaka, mabadiliko makubwa na uwezekano wa kubadilishana miezi iliyo karibu.
  3. Kadiria thamani zinazokosekana kwa mafunzo ya modeli huku ukihifadhi alama zinazoonyesha makadirio.
  4. Jaribu kama modeli za utabiri zinafanya vizuri kuliko msingi wa msimu unaorudia thamani ya mwaka uliopita.

Vipengele muhimu

  • Utoaji kupitia API ya DHIS2: Kazi katika pull_dhis2_data.py hutafuta na kurejesha viashiria vinavyohitajika.
  • Uzalishaji tena bila mtandao: Daftari husoma dhis2_raw_data.csv kwa chaguo-msingi, hivyo linaweza kuendeshwa bila muunganisho wa intaneti au kuingia kwenye mfumo.
  • Ukaguzi wa ukamilifu: Uchanganuzi hukagua ikiwa kila kiashiria kina thamani moja kwa kila wilaya na mwezi.
  • Ugunduzi wa marudio: Hupima mara ngapi thamani ya wilaya inalingana kabisa na mwezi huo huo wa mwaka mmoja uliopita.
  • Ugunduzi wa ubadilishaji: Huonyesha miezi iliyo karibu ambayo thamani zake zinaonekana kuwa katika mpangilio wa kinyume ikilinganishwa na mwaka uliopita.
  • Ujazaji wa mapengo kwa utaratibu: Thamani zinazokosekana hukadiriwa kwa kutumia mwezi huo huo wa kalenda katika miaka mingine au kwa kutumia msimu wa kiwango cha wilaya na wa wilaya zote.
  • Utabiri unaozuia uvujaji wa data: Data ya mafunzo na majaribio hutenganishwa kwa kufuata mpangilio wa wakati, na mapengo ya mafunzo hujazwa kwa kutumia data ya mafunzo pekee.
  • Ulinganishaji wa modeli: Seasonal naive, SARIMA na gradient boosting hupimwa kwa MAE na WAPE.

Elewa faili za mradi

  • DHIS2_Immunisation_Audit_and_Forecast.ipynb: uchanganuzi kamili, ikijumuisha chati, mantiki ya ukaguzi, ujazaji wa mapengo na utabiri.
  • pull_dhis2_data.py: kazi za kutafuta viashiria na kutoa data kutoka DHIS2.
  • dhis2_raw_data.csv: nakala iliyohifadhiwa inayotumika kwa uendeshaji wa kawaida bila mtandao.
  • requirements.txt: vitegemezi vya vifurushi vya Python.
  • README.md: nyaraka za mradi na matokeo yaliyofupishwa.

Usakinishaji na usanidi

1. Pata hazina

Clone au pakua hazina, kisha fungua terminal katika saraka yake kuu. Inapendekezwa kutumia mazingira pepe ili vifurushi vya mradi vibaki vimetenganishwa na miradi mingine ya Python.

python -m venv .venv

Washa mazingira kwa amri inayofaa mfumo wako wa uendeshaji, kisha sakinisha vifurushi vinavyohitajika:

pip install -r requirements.txt

2. Anzisha Jupyter Notebook

jupyter notebook DHIS2_Immunisation_Audit_and_Forecast.ipynb

Endesha seli za daftari kuanzia juu hadi chini. Kwa chaguo-msingi, uchanganuzi hupakia dhis2_raw_data.csv. Hii ndiyo njia rahisi na inayoweza kuzalishwa tena ya kuchunguza mtiririko wa kazi kwa sababu haihitaji muunganisho wa mtandao wala vitambulisho vya DHIS2.

3. Sanidi kwa hiari ufikiaji wa moja kwa moja wa DHIS2

Ili kupata data mpya, weka REFRESH = True katika seli ya kwanza ya msimbo ya daftari. Anwani ya seva na taarifa za kuingia zinaweza kutolewa kupitia vigezo vya mazingira DHIS2_URL, DHIS2_USER na DHIS2_PASSWORD.

DHIS2_URL=https://your-dhis2-server.example
DHIS2_USER=your_username
DHIS2_PASSWORD=your_password

Sintaksia kamili ya kuweka vigezo vya mazingira hutegemea shell na mfumo wako wa uendeshaji. Kuhifadhi taarifa za kuingia katika vigezo vya mazingira huzuia zisiwekwe moja kwa moja kwenye daftari au kuhifadhiwa katika mfumo wa kudhibiti msimbo.

Unganisha kwenye mfumo wa moja kwa moja wa DHIS2 tu kwa idhini ya mmiliki wa data. Tumia data ya jumla isiyotambulisha watu na fuata mahitaji ya usalama na utawala ya shirika.

Endesha mtiririko wa msingi wa kazi

Hatua ya 1: Pakia au rejesha data ya kila mwezi

Kila safu inawakilisha kiashiria kimoja, wilaya moja na mwezi mmoja. Uchanganuzi kamili hutumia wilaya 13 na miezi 60 kwa kila kiashiria cha chanjo. Measles imejumuishwa katika hatua za ukaguzi na utabiri, huku BCG na OPV1 zikikaguliwa. Viashiria vya ANC vimeondolewa kwa sababu vinapatikana kwa miezi 20 pekee, ambayo ni muda mfupi sana wa kuchunguza mifumo ya kila mwaka katika mtiririko huu wa kazi.

Kwa REFRESH = False, daftari husoma nakala iliyohifadhiwa. Kwa REFRESH = True, hutumia kazi saidizi za API kupata matokeo ya sasa kutoka kwenye seva iliyosanidiwa.

Hatua ya 2: Kagua ukamilifu wa taarifa

Kwa kila kiashiria, idadi inayotarajiwa ya uchunguzi hukokotolewa hivi:

13 districts × 60 months = 780 district-months

Sampuli ina thamani 725 zilizoripotiwa kwa kila kiashiria cha chanjo, na kuacha thamani 55 zinazokosekana, sawa na 7.1%. Ukosefu huu umefuata muundo maalum badala ya kuwa wa nasibu:

  • Mapengo yote hutokea Oktoba, Novemba au Desemba.
  • Thamani kumi na moja zinakosekana katika kila mwaka kuanzia 2021 hadi 2025.
  • Wilaya zilizoathirika ni Pujehun, Bonthe, Koinadugu, Kono, Bombali na Port Loko.
  • Pujehun haina ripoti za Oktoba hadi Desemba katika mwaka wowote unaopatikana.
  • Hakuna thamani zinazokosekana mwaka 2026.

Hili ni muhimu kwa sababu kujumlisha wilaya zilizoripoti pekee hufanya jumla ya kitaifa ionekane kuwa ndogo isivyo halisi. Katika miezi 15 iliyoathiriwa, jumla isiyosahihishwa imepunguzwa kwa wastani wa 14.3% na hadi 17.1%.

Hatua ya 3: Tambua marudio kamili ya mwaka hadi mwaka

Daftari linalinganisha kila wilaya na mwezi wake na mwezi unaolingana miezi 12 iliyopita. Ulinganifu kamili unaweza kutokea kwa kawaida, lakini marudio yaliyoenea si ya kawaida katika hesabu halisi za afya za kila mwezi.

Katika data ya onyesho, 65.5% ya rekodi za wilaya na mwezi za Surua mwaka 2024, 92.4% mwaka 2025, na 71.2% kuanzia Januari hadi Agosti 2026 zinalingana kabisa na mwaka uliotangulia. BCG na OPV1 zinaonyesha karibu muundo huohuo.

Muundo huu ni muhimu kwa ufasiri. Unafanana na data ya sampuli iliyozalishwa au kunakiliwa kutoka kwenye kiolezo, na huipa msingi wa utabiri unaotumia thamani za mwaka uliopita faida kubwa isiyo ya kawaida.

Hatua ya 4: Kagua mabadiliko makubwa na uwezekano wa kubadilishana miezi

Mabadiliko makubwa ya mwaka hadi mwaka ni ishara muhimu za tahadhari, lakini si lazima yawe makosa. Daftari pia hukagua ikiwa thamani mbili za miezi inayofuatana zimebadilishana nafasi ikilinganishwa na mwaka uliotangulia.

Mabadilishano yanayowezekana yanaonekana Machi na Aprili 2024, Oktoba na Novemba 2024, na Machi na Aprili 2026. Kwa mfano, Port Loko ina thamani 535 na 313 mwezi Machi na Aprili, huku mpangilio wake ukibadilika kati ya miaka. Mabadiliko kama hayo husababisha makosa mawili makubwa ya kila mwezi ingawa jumla ya thamani za miezi hiyo miwili haibadiliki.

Mchakato huu huashiria mabadilishano yanayowezekana lakini hauyarekebishi. Data pekee haiwezi kuthibitisha ni mpangilio upi ulio sahihi, hivyo ripoti za awali zinapaswa kukaguliwa kabla ya kufanya mabadiliko.

Hatua ya 5: Jaza thamani zinazokosekana za mafunzo

Mradi hujaza kila pengo kwa kutumia mbinu ya hatua mbili:

  1. Ikiwa wilaya iliripoti mwezi huo wa kalenda katika miaka mingine, tumia wastani wa thamani hizo zilizopo.
  2. Ikiwa wilaya haikuwahi kuripoti mwezi huo wa kalenda, kadiria kwa kuzidisha kiwango cha wastani cha wilaya kwa muundo wa kawaida wa msimu wa mwezi huo katika wilaya zote.

Mbinu ya pili ni muhimu kwa hali kama ya Pujehun, ambapo Oktoba hadi Desemba haipo katika mwaka wowote unaopatikana.

Ili kukagua mbinu hiyo, uchanganuzi huficha 15% ya thamani zinazojulikana za Oktoba hadi Desemba, huzijaza, na kulinganisha makadirio hayo na uchunguzi halisi. Katika thamani 21 zilizofichwa, kosa la wastani ni 8.2% na kosa la wastani wa kati ni 7.9%. Hii ni sampuli ndogo ya uthibitishaji, hivyo takwimu hizi zinapaswa kuchukuliwa kama mwongozo wa jumla badala ya makadirio ya uhakika ya usahihi.

Thamani zilizokadiriwa hazichukuliwi kuwa thamani zilizozingatiwa. Zinatumiwa tu kuunda data ya mafunzo ya modeli na vipengele vya lag. Uchunguzi wa majaribio unaokosekana hurukwa wakati wa kupima alama badala ya kujazwa.

Tabiri dozi za Surua

Tumia mgawanyo wa mafunzo na majaribio wa kufuatana kwa wakati

Swali la utabiri ni ikiwa modeli inaweza kutabiri kwa usahihi zaidi miezi 12 ijayo ya dozi za Surua kwa kila wilaya kuliko kurudia thamani za mwaka uliopita.

  • Kipindi cha mafunzo: Septemba 2021 hadi Agosti 2025, kikijumuisha miezi 48.
  • Kipindi cha majaribio: Septemba 2025 hadi Agosti 2026, kikijumuisha miezi 12.
  • Uchunguzi uliopimwa: thamani 145 za majaribio zilizoripotiwa.

Mgawanyo wa nasibu ungewezesha uchunguzi wa baadaye kuathiri utabiri wa miezi ya awali. Mgawanyo unaotegemea wakati huzuia uvujaji huo wa taarifa. Mapengo ya mafunzo hujazwa kwa kutumia taarifa za kipindi cha mafunzo pekee, huku thamani za majaribio ambazo hazikuripotiwa kuanzia Oktoba hadi Desemba 2025 zikitengwa kwenye tathmini.

Linganisha modeli hizo tatu

  • Naivu wa msimu: hutabiri thamani iliyoonekana katika mwezi huohuo mwaka mmoja uliopita.
  • SARIMA: huunda SARIMA(0,1,1)(0,1,1,12) kando kwa kila wilaya. Usanidi huu ulichaguliwa kabla ya kuangalia matokeo ya majaribio na haukurekebishwa.
  • Uboreshaji wa gradient: hufunza modeli moja inayoshirikiwa na wilaya zote kwa kutumia thamani za miezi 12 na 24 iliyopita, mwezi wa kalenda, na wilaya. Thamani hupimwa kulingana na wastani wa kila wilaya ili wilaya zenye ukubwa tofauti ziweze kushiriki modeli.

Vipengele vya uboreshaji wa gradient hutumia tu uchunguzi ulio na umri wa angalau miezi 12. Hii huakisi taarifa ambazo zingepatikana wakati wa kutengeneza utabiri kamili wa miezi 12 ijayo.

Tafsiri MAE na WAPE

Daftari huripoti vipimo viwili vya tathmini:

  • MAE: wastani wa kosa kamili kwa dozi kwa kila wilaya na mwezi.
  • WAPE: kosa kamili la jumla likigawanywa kwa jumla ya dozi halisi. Kwa mfano, 0.036 inawakilisha kosa la 3.6%.

Modeli ya naivu wa msimu hupata MAE ya 16.1 na WAPE ya 3.6%. SARIMA hupata MAE ya 30.0 na WAPE ya 6.6%, huku uboreshaji wa gradient ukipata MAE ya 32.9 na WAPE ya 7.3%.

Machi na Aprili 2026 zinapotengwa, WAPE ya naivu wa msimu hushuka hadi 0.8%. SARIMA hufikia 5.4%, na uboreshaji wa gradient hufikia 5.7%. Kwa hiyo, sehemu kubwa ya kosa la msingi inatokana na mabadiliko yanayoonekana ya Machi na Aprili.

Kwa nini msingi rahisi unashinda

Mbinu ya naivu wa msimu hufanya vizuri zaidi kwa sababu thamani nyingi katika kipindi cha majaribio ni nakala kamili za mwaka uliotangulia. Modeli inayorudia uchunguzi wa mwaka uliopita huwa karibu kamili katika hali hizo.

SARIMA na uboreshaji wa gradient badala yake hukadiria miundo mipana zaidi kwa kutumia mizunguko minne pekee ya mwaka. Hulainisha mfululizo na haziwezi kuzalisha thamani zilizonakiliwa kikamilifu kwa kutegemeka sawa. Pia haziwezi kutabiri mabadiliko ya miezi inayofuatana kutokana na uchunguzi wa awali.

Matokeo haya hayathibitishi kwamba utabiri wa naivu wa msimu ni bora kwa ujumla. Yanaakisi muundo usio wa kawaida wa data hii ya onyesho. Katika data halisi yenye mabadiliko ya kweli kutoka mwaka hadi mwaka, modeli za kisasa zaidi zingekuwa na nafasi yenye maana zaidi ya kuboresha msingi huo.

Vidokezo vya hali ya juu vya kurekebisha mtiririko wa kazi

Weka thamani zilizozingatiwa na zilizokadiriwa zikiwa tofauti

Ongeza au hifadhi alama iliyo wazi kwa kila uchunguzi uliojazwa. Tumia makadirio pale ambapo mfululizo kamili wa mafunzo unahitajika kitaalamu, lakini usiyawasilishe kimya kimya kana kwamba ni thamani zilizoripotiwa. Uwekaji alama unapaswa kuendelea kutegemea uchunguzi ulioripotiwa kwa kweli.

Chunguza hitilafu badala ya kuzirekebisha kiotomatiki

Ripoti zilizokosekana, thamani zinazorudiwa, mabadiliko makubwa, na uwezekano wa kubadilishana miezi vinahitaji hatua tofauti. Thamani iliyokosekana inaweza kukadiriwa kwa ajili ya uundaji wa modeli, lakini kubadilishana kwa mwezi kunakodhaniwa kunapaswa kuthibitishwa dhidi ya nyaraka chanzo. Usahihishaji wa kiotomatiki unaweza kubadilisha onyo linaloonekana kuwa kosa lililofichika.

Tumia tathmini ya asili inayosogea

Hifadhi hii hutumia dirisha moja la majaribio la miezi 12. Kwa tathmini thabiti zaidi, rudia tathmini hiyo katika madirisha kadhaa ya mfuatano wa wakati. Kila utekelezaji unapaswa kufundishwa kwa kutumia data iliyopatikana kabla tu ya kipindi chake cha utabiri. Hii huonyesha kama utendaji wa modeli ni thabiti kadiri muda unavyopita, badala ya kutegemea mwaka mmoja usio wa kawaida.

Daima linganisha modeli changamano

Hifadhi utabiri wa msimu wa kawaida hata unapoongeza modeli za SARIMA zilizoboreshwa, vipengele vipya, au algoriti nyingine za ujifunzaji wa mashine. Mbinu changamano ni muhimu tu ikiwa inashinda kwa uthabiti msingi rahisi na unaoaminika kiutendaji katika vipindi ambavyo haijawahi kuona.

Ongeza kutokuwa na uhakika unapofanya kazi na data halisi

Hatua zinazopendekezwa zinazofuata zinajumuisha kuongeza vipindi vya utabiri. Utabiri wa thamani moja pekee hauwasilishi kutokuwa na uhakika kunakotokana na mabadiliko ya kawaida, data ndogo ya kihistoria, au mapengo yaliyokadiriwa katika data ya mafunzo.

Otomatisha ukaguzi unaorudiwa

Ukaguzi huohuo unaweza kuratibiwa ufanyike baada ya kila mzunguko wa kuripoti. Mchakato unaorudiwa unaweza kuripoti wilaya-miezi zilizokosekana hivi karibuni, marudio yasiyotarajiwa ya mwaka hadi mwaka, mabadiliko makubwa, na miezi inayodhaniwa kuwa imebadilishana nafasi ili ipitiwe.

Kuwa mwangalifu unapopanua hadi viashiria vingine

Kabla ya kutabiri kipimo kingine, thibitisha kuwa kina historia ya kutosha kwa mzunguko wake wa msimu. Viashiria vya ANC vilivyopo vina miezi 20 pekee kuanzia Januari 2025, kwa hivyo mradi huu hauvitumii kuchunguza mifumo ya kila mwaka.

Vikwazo muhimu

  • Chanzo ni seva ya maonyesho, hivyo uchanganuzi huu hausemei chochote kuhusu mienendo halisi ya chanjo.
  • Ulinganisho wa utabiri hutumia dirisha moja la majaribio la miezi 12.
  • Ni Measles pekee inayotabiriwa.
  • Usanidi wa SARIMA umewekwa bila kuboreshwa.
  • Uthibitishaji wa kujaza mapengo una uchunguzi 21 uliofichwa pekee.
  • Makadirio ya Pujehun kuanzia Oktoba hadi Desemba yanategemea mifumo ya msimu kutoka wilaya nyingine.
  • Miezi inayodhaniwa kuwa imebadilishana nafasi imetiwa alama lakini haijasahihishwa.

Hitimisho

Mradi huu unaonyesha kuwa ukaguzi wa ubora wa data unapaswa kutangulia utabiri. Ukaguzi wake unaonyesha ukosefu wa data wenye muundo, marudio mengi ya mwaka hadi mwaka, na uwezekano wa kubadilishana miezi iliyo karibu, ambako kunaathiri kwa kiasi kikubwa jumla na tathmini ya modeli.

Anza kwa kuendesha daftari dhidi ya nakala iliyohifadhiwa, kagua kila hatua ya ukaguzi, kisha wezesha uonyeshaji upya kupitia API pale tu utakapokuwa tayari kutumia chanzo cha DHIS2 kilichoidhinishwa. Unapobadilisha mtiririko wa kazi, hifadhi tathmini ya mpangilio wa wakati, weka lebo kwenye thamani zilizokadiriwa, thibitisha hitilafu dhidi ya ripoti chanzo, na linganisha kila modeli na msingi rahisi wa msimu.