Halaman

Rabu, 20 November 2024

The Proposition of The Superposition

0 comments

Bismillahirrahmanirrahiim. Dengan nama Allah yang Maha Pemurah lagi Maha Penyayang.

...

Quantum, from the eyes of DALL-E
 

...

2011

Masa ni aku kerja kat UTM sebagai Research Officer. So boss aku time tu, (Prof T), macam biasalah suruh aku explore benda - benda baru.

Ada lah satu hari tu. Perbualan dia lebih kurang macam ni.

    Prof T: Fairuz, you tolong ganti I pergi ke satu seminar ni. Pasal Quantum. Nanti balik you explain balik kat I.

    Aku: Ok baiklah.

Masa tu kat UTM, cerita pasal quantum ni agak hot jugak. Cuma for our Department of Math and our Research Group, ianya masih lagi kurang pendedahan. It is a scarce topik. Even other deparment pon tak tahu sangat pasal ni.

Antara contoh classical quantum yang biasa dengar time tu, adalah experiment Schrödinger's cat.

Citer experiment dia tu lebih kurang macam ni.

Dalam satu sealed box, ada kucing, racun, radioactive dan geiger counter (alat pengesan radioaktif dalam udara). Kalau geiger counter tu detect ada radioactive (ada decaying proses), racun tu akan dilepaskan dan membunuh kucing tersebut. Kalau kita buka box tu untuk tengok kucing tu hidup lagi atau tak (buat observation), basically kita dah kacau the experiment and the outcome jadi tak valid.

So masa kucing tu ada kat dalam sealed box tu dan box tu tak dibuka lagi, basically kucing tu sekarang ada in superposition. Kucing tu basically hidup DAN mati dalam kotak tu.

Figure 122: Schrodinger Cat

Basically that is the idea of superposition from classical quantum mechanic.

So for me, it is a good opportunity to venture and it is a very interesting topic to explore.

Here's the brochure hebahan dia.

Figure 123: Poster Hebahan Seminar EQuaLS5

Not gonna lie, it is really an interesting topik. Sebelum tu aku baca - baca pasal quantum kat internet gitu gini je. So this time, I was exposed directly on how the world is viewing quantum in mathematical sense. Ya ilmu di dunia ni tersangatnya luas...

But unfortunately, tak sampai sebulan lepas tu, aku dapat offer kerja kat Kuala Lumpur. So I completed my report (on this) and my potential works for quantum for our department macam tu je.

Dan aku lupa, apa yang aku letak future plan..

...

13 years later. 2024..

Between now and then, aku ada lah jugak sekali sekala baca balik nota yang aku dapat masa seminar tu. Some of them really drives me till today. Especially from John Baez and his talk on Petri Net.

But that's about it. Baca sahaja. Until, sometime in this year. Bos aku kat tempat kerja sekarang ni (En A).

    Bos aku: Fairuz, I nak you baca proposal ni, understand about this and create a presentation slide about this. Kita nak present ni nanti.

Aku belek - belek dan baca title proposal tu. Something about quantum.

    Bos aku: You know anything about quantum?

    Aku (while aknowledging myself betapa tipisnya ilmu aku pasal quantum): Tak. Saya tak tau.

So bos aku cerita lah pasal quantum from the start. Ok let me try rephrase balik dari cerita dia (feynman technique y'all).

Teknologi yang kita gunakan sekarang ni is based on logic gate. From the logic gate, the basic fundamental dia is the bit of data. So each bit contains either zero atau satu dalam satu satu masa and it cannot be both. The so-called bit ni lah yang building up the whole internet as we know today. Dari bit yang nilainya sama ada kosong, atau satu. But cannot be both.

Now in quantum, it is totally different. Both (or maybe more state) can exists dalam masa yang sama. So untuk satu - satu masa ni, it is possible to be both zero and one. So we call this as superposition (it exists in two state). In theory, it can be more than two state at a time. And in computing space, it is called qubit (in reference to bit tapi dalam bentuk quantum, or quantum bit.. qubit).

Ok tak aku explain?

In math, dia ada operator dia untuk represent quantum.

$$ |\psi\rangle = \alpha_1 |1\rangle + \alpha_2 |2\rangle + \alpha_3 |3\rangle + \ldots + \alpha_n |n\rangle $$

where 

  • \( |\psi\rangle \) is the quantum state untuk superposition tu (remember dia boleh jadi dua atau more state? so this is the notation dia)
  • \( \alpha_n \) is the "amplitudes". so this is the probability for it to exists state mana (ya, maksudnya tak semua sate tu equal.. ada possiblity dia), dan
  • \( |n\rangle \) is the state it self (contoh ni kat state \( n \))

and \( | \alpha_n | ^2 \) is the kebarangkalian untuk dapatkan state \( |n\rangle \) dan syaratnya adalah \( \sum_{i} | \alpha_i | ^2=1, \forall i \in \{1,2,3...,N\} \), sebab macam biasalah, tu kan probability.

Aku rasa la kan.. aku rasa macam cantik sangat equation ni. A single line of equation can represent two or more state at a time.

Seriously cantik.. Sangat..

...

23 Oktober 2024.

Side story - Baca Ikrar

Office Admin (OA) company kitorang whatsapp aku.

    OA: Fairuz, 4/11 boleh baca ikrar tak? Herman baca doa.

    Aku: Saya nervous kak.. huhuhuhu

    OA: Bolehlah

    Aku: Ada candidate lain tak?

Aku senyap kejap. This might be a good opportunity. But also scary.

    Aku sambung: Tapi macam menarik gak.

(aku ni jenis apa yang aku fikir aku taip je terus kadang - kadang.. haha).

    OA: Mesti boleh punya. Ada text. Boleh ya. Nk letak nama.

    Aku: Ok kak. InsyaAllah ok.

    OA: Baik, tq.

Actually, "InsyaAllah ok" tu is my words for me. Nak comfortkan diri. Seram weh. Nak membaca depan - depan ramai orang. Aku ni bukannya jenis biasa berucap kat perhimpunan. Aku masa tu fikir nak baca ikrar pon dah rasa nervous. Huhuhuhuh

And believe me. Aku dah prepare aku punya own kill switch. Kalau aku tak ready, aku call in sick and hopefully akan ada orang boleh ganti.. Sampai macam tu sekali aku fikir.

And so, the supposedly tarikh aku baca ikrar tu, diganjakkan ke minggu seterusnya because some of mixed up from the HR.

Baru aku perasan masa menulis ni. It's quite a nice date actually. 11/11/2024.

So masa tarikh (baru) tu, aku bacalah ikrar depan (more or less) 60% pekerja office aku tu.

Here's the summary from my colleague.

"Macam ketua pengawas". "Baca berita". "Semangat".

And also some of my close friend bagi some tips for improvement.

But hey, at least it is over. Right?

...

That afternoon.

Aku pergi lah makan kat kafe. Ada geng - geng aku duduk sekali kat situ. Lepas tu boss aku dengan boss kepada boss aku makan sekali kat meje yang sama, cuma diorang duduk at the other end (ala satu meje boleh muat dalam 4 kerusi tu je.. tapi sambung 3 meja).

Dalam pukul 2 petang tu, geng - geng aku semua mula la balik. Tinggal aku kat meja hujung kanan, bos kepada bos aku (CEO), duduk kat meje tengah dan boss aku duduk kat meje hujung kiri.

Aku terdengar perbualan diorang.

    Bos aku: Aku dah nekad. Kalau diorang bagi surat suruh aku pindah, kat situ jugak aku resign.

Tersentak aku. CEO aku pon senyap.

    CEO: Jangan macam tu. Kalau kau resign, company aku rugi, company diorang pon rugi.

I think I know what is this all about.

You see. There's been some rumours yang bos aku akan diarahkan untuk pindah to our sister company. Tiap kali aku tanya boss aku pasal rumours tu, dia cakap "takde apa. you jangan risau. I tak lari punya".

But this time, I feel like it is real. Ye lah, siap cakap depan CEO macam tu kan.

Aku masa tu try la korek sikit cerita tu..

Unfortunately, both my boss and my CEO kata "tak apa. you jangan risau. pandai - pandailah kami handle".

..

12th November, 2024

For the next three days (12 Nov sampai 14 Nov 2024) tu, aku ada training kat luar.

Unease.

Aku dok terfikir pasal perbualan diorang kat kafe tu.

Kebetulan ada kawan office aku yang pergi sekali ke training tu.

    Kawan: Aku dengar boss kau nak kene pindah ke our sister company.

    Aku: Aku pon baru dengar semalam. Tapi aku tak dapat detail.

    Kawan: Untung la kau. Lepas tu senang lah kau terus naik pangkat.

Aku senyap.

One of the main reason I stayed this company for a long time is because I can create my enjoyment kerja kat sini.

I have seen macam mana bos aku punya kerja. Banyak jumpa orang sana sini. Nego sana sini. Hari - hari fikir nak carik ravenue untuk pastikan all of our staff still ada kerja lagi for next year.

Pening. Dan seram. Benda dah melibatkan periuk nasi orang. Walaupon chances untuk aku ganti tempat bos aku tu is basically slim to none (for sure aku rasa CEO aku akan hire orang lain), but the probability is still there.

And I don't want to take the resposibility apa yang boss aku tanggung sekarang ni.

...

14th November, 2024

Aku skip training. Sanggup.

Reason dia satu je. I need to know how the actual story (yang pasal boss aku nak tinggalkan kitorang tu la).

Walaupon aku tau boss aku tak akan cerita detail pasal cerita tu, but only I know how to make him talk.

So boss aku pon cerita lah.

To simply put; Boss aku kata dia properly decline the offer. And that was it. End of story (katanya).

But I think it is not that simple. But time will tell..

...

18 November, 2024

Takde hujan takde ribut. Tetiba aku dapat email around 2:30 PM.

    Dear All,

 

    Kindly be informed that [my boss name here] will be on leave from 19 – 21 November 2024.

 

    In his absence, Fairuz will deputise for him.

 

    Thank you.

Email macam ni, kali kedua aku dapat. Sebelum ni, bulan Jun hari tu.

Aku senyap.

Aku cuba meneruskan hari tersebut dengan cukup berhati - hati dan bersahaja. Adalah juga certain - certain issue yang aku rasa tak perlu nak peningkan kepala bos aku, aku buat decision sendiri.

And I wonder..

...

Believe it or not. All these situation is really put me on a strange side. And weirdly enough. Aku rasa macam superposition tu betul - betul berlaku kat aku.

Masa aku dioffer untuk baca ikrar tu, on one side, aku rasa takut sangat. Not ready. Not my thing nak bercakap kat depan orang ramai. Walaupon hanya baca skrip.. But at the same time, aku sangat nak mencuba. Public speaking. Ni kelemahan aku. And I have the opportunity to face it.

Basically masa tu, I'm living in the two state scenario. Aku nak baca ikrar and at the same time aku tak nak. Aku tak nak, tapi aku nak jugak. 

So I let the time slips by and hopefully everything is ok. And alhamdulillah. Semua ok.

And the same thing goes masa aku dengar citer pasal boss aku nak kene transfer tu. Dan masa aku dideputisekan.

I really don't want to. But what if it is really happens? During that time, aku tak tau apa decision boss aku. So I see it as in a superposition state. Aku tak tau. Memang tak tau apa.

So what can I do, I just let it be. Hidup je lah dengan dua (or more) state ni.

Just like Schrödinger's Cat punya experiment...

...

You see.. In Ancient American, ada satu cerita rakyat ni.

One evening an old Cherokee told his grandson about a battle that goes on inside people.

He said, "My son, the battle is between two "wolves" inside us all.

One is Evil. It is anger, envy, jealousy, sorrow, regret, greed, arrogance, self-pity, guilt, resentment, inferiority, lies, false pride, superiority, and ego.

The other is good. It is joy, peace, love, hope, serenity, humility, kindness, benevolence, empathy, generosity, truth, compassion and faith."

The grandson thought about it for a minute and then asked his grandfather: "Which wolf wins?"

The old Cherokee simply replied, "The one you feed." 

Figure 124: The Tale of Two Wolves

The thing is that, I also do believe that we always living in multiple state at the same time. The one yang win is actually the one with more probabilty like the \( \alpha_n \).

So what can I do?

It is simple actually. Mana yang kita boleh drive, kita cuba. Macam cerita serigala atas tu. The one that we feed. We are actually always facing the superposition state!

But we also need to know that..

Aturan kehidupan kita ni tak pernah salah. Allah SWT dah atur hidup kita ni terbaik untuk kita. Kita hanya perlu rajin panjatkan kesyukuran kita dan sentiasa mengingati Nya.. InsyaAllah, semua akan ok.

Wallahu a'lam..

Khamis, 14 November 2024

The Missing Value Proposition

0 comments

Bismillahirrahmanirrahiim. Dengan nama Allah yang Maha Pemurah lagi Maha Penyayang.

...

(Saje nak letak cover untuk topik ni)

Beberapa minggu lepas. Ada la sorang budak Data Scientist aku ni, panggil aku mintak pendapat. Dia cakap, dia ada dapat data dari Database Administrator kitorang. Tapi ada data yang tak de. So dia tanya pendapat aku. Ni pasal nak buat forecasting/prediction.

"Nak buang ke row yang takde data ni"

Senyap sekejap. Basically projek yang kitorang tengah working tu, ada missing data.

So Missing Data is actually kinda interesting. Untuk kita yang kerja gunakan data dari data entry, memang akan jarang jumpa missing data.

Kalau data tu datangnya dari source macam sensor ke apa, ya it is possible untuk jumpa missing data. Data yang ditransmit guna UDP, of course akan ada missing data. Ataupon ada database corrupt, means there is a high possibility untuk jumpa missing data.

Basically, kalau missing data ni, biasanya disebabkan system error. Tersangatlah jarang jumpa missing data dari application yang dah go live or live in production (otherwise we call it as bad application design!).

So missing data ni dia macam ni. Tengok kat figure bawah ni.

Figure 116: Example Data with Missing Value [106]

Basically in Python, NaN tu maksudnya Not a Number. So biasanya kalau data takde dari database, atau pon data tu kat dalam database dia store sebagai NULL, so in python, dia akan treat as a None atau NaN (because null is not a number, depending on the library jugak lah). In other language, biasanya dia akan letak sebagai NULL.

There quite a lots of way to fill in the missing value.

But why tho? Kenapa nak buat fill in the missing value? Tak boleh ke guna as is sahaja.

Usually when we wanted to make an analysis of the data (like statistics or put it on some equation), kita tak boleh nak letak NULL atau NaN kat dalam data kita. Tak jalan. Kalau kira kat kertas pon sama. Kita nak kira apa kalau ada some value tu NULL?

So we need to find a way to fill in the missing value.

Banyak method. But I don't want to explain the method (I left it as an exercise to the reader hahahh). But more on the technique.

Determine the nature of the data.

Ni feveret aku. Katakanlah kita tahu (till some extent) yang data tu adalah derived dari some sort of distribution, we can use the distribution properties to fill in the value. Like for an example, data tu kita tau dia adalah Normal Distribution. So aku letak je mean value sebagai dia punya filler.

But this is more on traditional approach. Dengan best pakai kalau data tu kita ambil statistik, contoh aku ambil data ketinggian pekerja office aku tapi ada sorang ni tak nak share tinggi dia berapa...

Other approach yang aku suka pakai is actually do interpolation.

Interpolation.

Ni sangat berguna kalau kita ada data yang secara series (atau berturutan, atau dalam subjek matematik masa aku Form 5 dulu, dia panggil sebagai jujukan aritmetik.. sort of..).

Aku suka cara ni. Kita try fahamkan macam mana bentuk nature data dia dan kita boleh agak - agak kat mana kedudukan value tu. Contoh macam kita ada data ni. Sumber dua - dua figure ni dari [107].

Figure 117: Missing data kat tengah - tengah tu

Tapi sebab kita dapat gambaran dia macam mana dengan mata kasar, so kita boleh nicely fitkan dia dalam interpolation equation dia supanya jadi macam ni.

Figure 118: Interpolation untuk agak - agak value missing data tu.

Cumaaaaa... Interpolation ni memang tersangatnya cantik kalau jadi. Tapi nak buat dia.. sakit kepala jugak. Satu, katakan dia ada 10 data, so kita punya polinomial tu boleh naik sampai ke 10 degree (kalau betul - betul nak tepat), dan kemudian kene solvekan guna linear equation untuk dapatkan coefficient dia tu semua tu... Biasa orang akan limitkan ke 3 degree je (cubic polinomial untuk avoid complexity).

Dan dua, kalau data tu ada noise, dia akan follow sekali noise tu. Dan kadang - kadang dia overfitting. Dan kita kene set boundary, so kita assume data kita tu dalam boundary. Dan mungkin aku banyak sangat fikir. Haha..

Atau... Teknik ketiga adalah,

Machine Learning.

Ha ni budak - budak data scientist suke la ni. Pakai machine learning untuk fill in the blank. Ni contoh guna K-Nearest Neighbour untuk fill in missing value (source [108]).

Figure 119: Filling missing value guna KNN Imputation
 

Senang. Cumaaaa.. Satu kadang - kadang jawapan dia bukan deterministic. Maksudnya kalau aku buat second run, the point mungkin akan pergi ke tempat lain. Dan Dua, kalau nak betul - betul tepat, kena ada data yang banyak (ni standard masalah guna Machine Learning atau Deep Learning).

Tapi, jangan lupa satu lagi teknik yang aku rasa menjadi pilihan hati ramai orang.

Buang the missing value.

Senang kan? So buang je row tu. Tak payah nak pening kepala. But of course, this is my least preferred option. 

Sebabnya, katakan kita ada data kat Figure 117 tu, kalau aku buang, dia punya trend akan lari. Lagi lah pulak kalau kita buat time series punya data. Dan kalau kita guna teknik pertama tu (statistical approach), kita hilang satu N. Rugi weh.

...

So there's quite lots of technique that can be used untuk masalah kita ni.

Berbalik ke cerita budak Data Scientist kita.

"Nak buang ke row yang takde data ni. Kalau tak, tak boleh nak buat forecast ni."

Aku senyap. Sebab that is the least favourite technique aku.

Tapi tu pendapat aku. So tak boleh la nak impose opinion aku to others kan...

So aku tanya lagi.

"Tak boleh ke guna cara lain. Pakai machine learning ke?"

Dia cakap, "Macam tak sesuai. Sebab data sikit sangat". Fair enough.

"Ada tengok tak macam mana distribution data tu? Distribution normal ke. Atau gaussian like ke"

Dia terdiam. Aku pon terdiam. "Nak pakai method mana satu?" True. Banyak sangat method yang ada.

Aku sambung. "Ok cuba u tunjuk kat I, macam mana data yang you ada tu".

I kid you not. Data dia macam lebih kurang macam ni (ni sample aku buat sendiri):

Figure 120: The real missing data

Banyak sangat missing data tu. Untuk data dari Januari 2018 sehingga ke Disember 2023, ada lebih kurang belas - belas je data dia.

Sakit kepala aku tengok.

Aku start tanya dia pasal data tu.

Aku: "Memang ni je ke data dia?"

DS: "Ya tu je data yang Database Admin kasi."

Aku: "Memang nature data ni macam ni ke?"

DS: "Yang lain tu memang takde data. Sebab ni data duit. Diorang buat belian dalam sekali dua je dalam setahun."

Senyap kejap.

"So boleh ke saya buang je yang kosong ni?"

Aku, "No. Yang kosong tu, isi je as kosong. Lepas tu you run beberapa model untuk forecasting."

DS, "Tapi nanti bukan ke error dia tinggi sangat nanti"

Aku, "Ya memang akan dapat error yang tinggi. But try to find method and parameter yang buat dia paling rendah. And of course dia punya RMSE value dia tu tinggi. Boleh jadi \( 1 x 10^{10} \). But it is what it is. Kalau kita buang row tu, basically kita tukar the nature of the data."

Kemudian aku terangkan kat dia.

That is actually not a missing value. Data dia ada. Cuma data yang kosong tu sebenarnya ada nilai. Dan nilai tu adalah kosong!

Figure 121: .. which actually a zero filled data

Missing value, is that data tu ada tapi hilang. But in our case, data dia ada. Cuma data dia kosong. Dan mungkin Database Admin aku tak letak dalam row sebab, ye lah. Orang tak masukkan dalam sistem. So database admin aku letak NULL dalam database dia.

And,

NULL is not zero and zero is not NULL. The translation between real life data and system/application data is totally different.

...

So several days ago, aku balik kampung sambil drive santai - santai lalu jalan lama. Sambil - sambil tu aku terfikirlah pasal masalah ni.

Because somewhat, aku ter-relatekan problem ni dengan real life aku.

Me. Yang sentiasa mencari - cari jawapan dalam kehidupan di sekeliling aku.

Me. Yang sentiasa rasakan ada missing value dalam life aku yang aku nak kene fill in kan.

I know the technique. In fact, bukan ke aku baru je listkan tadi.

But now I'm thinking.

Is it really a missing value? Or actually it is actually just a proposition.

You see.. In math, when we don't know whether if it is true or false, we call it as proposition.

The basic building blocks of logic are propositions. A proposition is a declarative statement, which is either true or false but not both; that is, it has a well-defined truth value. In addition, it is sometimes difficult to know if a sentence is a proposition, and if it is a proposition, it may not be known for some reason whether it is true or false. The area of logic that deals with propositions is called propositional logic. - Grami, A. (n.d.). Discrete Mathematics: Essentials and Applications. Academic Press. [109]
So, is it true that I'm just searching for a missing value? Or maybe the value is there after all. And the value is actually zero?

...

The problem is that, I think that I can find the answer.

Tapi kita ni manusia biasa beb. Pemikiran kita ni limited. We can't comprehend something that is beyond our control and beyond our understanding.

Dunia ni luas. Aku ni cuma sorang hamba Nya yang kerdil. Aku tak mampu nak articulate semuanya. Kita buat yang terbaik, dan masa yang sama, kita berserah sahaja semuanya kepada Allah Yang Maha Esa.

بِسْÙ…ِ اللَّÙ‡ِ تَÙˆَÙƒَّÙ„ْتُ عَÙ„َÙ‰ اللَّÙ‡ِ لاَ Ø­َÙˆْÙ„َ Ùˆَلاَ Ù‚ُÙˆَّØ©َ Ø¥ِلاَّ بِاللَّÙ‡ِ

Aku bertawakal (berserah diri) kepada Allah, tiada daya upaya melainkan dengan izin Allah.

Wallahu a'lam bissawab..

...

[106]: Figure tu aku google "missing value" dari internet. Malas nak buat sendiri. Source: https://www.analyticsvidhya.com/blog/2021/04/beginners-guide-to-missing-value-ratio-and-its-implementation/

[107]: Figure - figure tu aku amik dari website ni: https://www.kdnuggets.com/how-to-deal-with-missing-data-using-interpolation-techniques-in-pandas

[108]: Figure tu dari sini https://www.geeksforgeeks.org/k-nearest-neighbours/